
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
phpMyAdmin是一个用PHP编写的免费软件工具,旨在通过Web界面管理MySQL和MariaDB数据库。该Docker镜像提供了phpMyAdmin的容器化部署方案,支持多种架构,包含Apache Web服务器和PHP环境,可快速搭建数据库管理界面。
警告: 此镜像在
mips64le架构上不受支持
!https://raw.githubusercontent.com/docker-library/docs/1a06458dd2512b5bcda0a849738bb5ca32bf8ec0/phpmyadmin/logo.png
amd64 (https://hub.docker.com/r/amd64/phpmyadmin/)arm32v5 (https://hub.docker.com/r/arm32v5/phpmyadmin/)arm32v6 (https://hub.docker.com/r/arm32v6/phpmyadmin/)arm32v7 (https://hub.docker.com/r/arm32v7/phpmyadmin/)arm64v8 (https://hub.docker.com/r/arm64v8/phpmyadmin/)i386 (https://hub.docker.com/r/i386/phpmyadmin/)ppc64le (https://hub.docker.com/r/ppc64le/phpmyadmin/)riscv64 (https://hub.docker.com/r/riscv64/phpmyadmin/)s390x (https://hub.docker.com/r/s390x/phpmyadmin/)latest, fpm, fpm-alpine: 最新发布版本5, 5-fpm, 5-fpm-alpine5.0, 5.0-fpm, 5-fpm-alpine5.0.0, 5.0.0-fpm, 5.0.0-fpm-alpine完整标签列表可在https://hub.docker.com/_/phpmyadmin?tab=tags%E6%9F%A5%E7%9C%8B%E3%80%82
提供三种镜像变体以适应不同需求:
phpMyAdmin使用MySQL服务器凭证进行连接。官方MySQL和MariaDB镜像使用以下环境变量定义凭证:
MYSQL_ROOT_PASSWORD - 必需变量,指定root超级用户账户的密码MYSQL_USER, MYSQL_PASSWORD - 可选变量,用于创建新用户并设置密码以下所有示例将在http://localhost:8080上启动phpMyAdmin,您可以通过该地址管理MySQL和MariaDB数据库。
与链接的数据库服务器一起使用
首先需要在Docker中运行MySQL或MariaDB服务器,然后将phpMyAdmin镜像链接到运行的数据库容器:
shdocker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 mips64le/phpmyadmin
与外部数据库服务器一起使用
可以在PMA_HOST环境变量中指定MySQL主机。还可以使用PMA_PORT指定非默认端口:
shdocker run --name phpmyadmin -d -e PMA_HOST=dbhost -p 8080:80 mips64le/phpmyadmin
与任意数据库服务器一起使用
通过添加环境变量PMA_ARBITRARY=1,可以允许连接到任意服务器:
shdocker run --name phpmyadmin -d -e PMA_ARBITRARY=1 -p 8080:80 mips64le/phpmyadmin
以下是使用Docker Compose的示例配置,启用了任意服务器选项,允许在登录页面指定任何MySQL/MariaDB服务器:
yamlservices: db: image: mariadb:10.11 restart: always environment: MYSQL_ROOT_PASSWORD: notSecureChangeMe phpmyadmin: image: phpmyadmin restart: always ports: - 8080:80 environment: - PMA_ARBITRARY=1
可以通过创建名为config.user.inc.php的文件添加自定义config.inc.php设置(如配置存储设置),然后将其链接到容器中:
sh-v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
完整的docker run命令示例:
shdocker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php mips64le/phpmyadmin
确保配置文件的第一行为<?php,否则内容将不会被检测为PHP代码。
配置文件示例:
php<?php $cfg['ShowPhpInfo'] = true; // 在主页上添加phpinfo()链接
有关配置文件的更多信息,请参阅:
/etc/phpmyadmin/conf.d中添加自定义配置还可以考虑将自定义配置文件存储在/etc/phpmyadmin/conf.d文件夹中,这非常适合管理不同主机的多个phpMyAdmin配置文件。可以创建server-1.php、server-2.php或任何您想要的文件名,并将它们存储在主机上挂载的conf.d目录中。
docker run命令示例:
shdocker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/conf.d:/etc/phpmyadmin/conf.d:ro mips64le/phpmyadmin
设置变量PMA_ABSOLUTE_URI为反向代理提供phpMyAdmin的完全限定路径(如https://pma.example.net/)。
为了在容器更新之间保持会话活动,需要挂载/sessions文件夹:
sh-v /some/local/directory/sessions:/sessions:rw
将变量PMA_SSL设置为1以启用从phpMyAdmin到MySQL服务器的SSL使用。默认值为0。变量PMA_SSLS可以用作0和1的逗号分隔序列,用于多个主机。值的顺序必须遵循PMA_HOSTS并相应计算。
shdocker run --name phpmyadmin -d -e PMA_HOSTS=sslhost -e PMA_SSL=1 -p 8080:80 mips64le/phpmyadmin
shdocker run --name phpmyadmin -d -e PMA_HOSTS='sslhost,nosslhost' -e PMA_SSLS='1,0' -p 8080:80 mips64le/phpmyadmin
核心连接变量
PMA_ARBITRARY - 设置为1时,允许连接到任意服务器PMA_HOST - 定义MySQL服务器的地址/主机名PMA_VERBOSE - 定义MySQL服务器的显示名称PMA_PORT - 定义MySQL服务器的端口PMA_HOSTS - 定义MySQL服务器的地址/主机名的逗号分隔列表PMA_VERBOSES - 定义MySQL服务器的显示名称的逗号分隔列表PMA_PORTS - 定义MySQL服务器的端口的逗号分隔列表PMA_SOCKET - 定义用于MySQL连接的套接字文件PMA_SOCKETS - 定义用于MySQL连接的套接字文件的逗号分隔列表SSL相关变量
PMA_SSL_DIR - 定义用于从环境变量生成的SSL文件的路径,默认值为/etc/phpmyadmin/sslPMA_SSL - 设置为1时,定义MySQL连接的SSL使用PMA_SSLS - 0和1的逗号分隔列表,定义相应MySQL连接的SSL使用PMA_SSL_VERIFY - 设置为1时,启用MySQL连接的SSL证书验证PMA_SSL_VERIFIES - 0和1的逗号分隔列表,用于为多个MySQL连接启用或禁用SSL证书验证PMA_SSL_CA - 在相互TLS安全的上下文中,允许将CA证书文件设置为默认config.inc.php中的字符串PMA_SSL_CAS - 在相互TLS安全的上下文中,允许将多个CA证书文件设置为默认config.inc.php中的逗号分隔字符串列表PMA_SSL_CERT - 在相互TLS安全的上下文中,允许将证书文件设置为默认config.inc.php中的字符串PMA_SSL_CERTS - 在相互TLS安全的上下文中,允许将多个证书文件设置为默认config.inc.php中的逗号分隔字符串列表PMA_SSL_KEY - 在相互TLS安全的上下文中,允许将私钥文件设置为默认config.inc.php中的字符串PMA_SSL_KEYS - 在相互TLS安全的上下文中,允许将多个私钥文件设置为默认config.inc.php中的逗号分隔字符串列表认证相关变量
PMA_USER 和 PMA_PASSWORD - 仅与config认证方法一起使用,定义用户名和密码路径和URL变量
PMA_ABSOLUTE_URI - phpMyAdmin的完整URL。在反向代理配置中有时需要。除非需要,否则不要设置此选项。配置相关变量
PMA_CONFIG_BASE64 - 如果设置,此选项将使用变量的base64解码内容覆盖默认的config.inc.phpPMA_USER_CONFIG_BASE64 - 如果设置,此选项将使用变量的base64解码内容覆盖默认的config.user.inc.phpPMA_UPLOADDIR - 如果定义,此选项将设置可保存文件以用于导入的路径(https://docs.phpmyadmin.net/en/latest/config.html#cfg_UploadDir)PMA_SAVEDIR - 如果定义,此选项将设置可保存导出文件的路径(https://docs.phpmyadmin.net/en/latest/config.html#cfg_SaveDir)高级功能变量
PMA_CONTROLHOST - 设置时,指向用于存储https://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage%E7%9A%84%E5%A4%87%E7%94%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%BB%E6%9C%BAPMA_CONTROLPORT - 如果设置,将覆盖连接到控制主机以存储https://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage%E7%9A%84%E9%BB%98%E8%AE%A4%E7%AB%AF%E5%8F%A3%EF%BC%883306%EF%BC%89PMA_PMADB - 定义用于https://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%90%8D%E7%A7%B0%E3%80%82%E6%9C%AA%E8%AE%BE%E7%BD%AE%E6%97%B6%EF%BC%8C%E9%BB%98%E8%AE%A4%E4%B8%8D%E5%90%AF%E7%94%A8%E9%AB%98%E7%BA%A7%E5%8A%9F%E8%83%BD%EF%BC%9A%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%97%B6%E4%BB%8D%E5%8F%AF%E9%80%9A%E8%BF%87%E9%9B%B6%E9%85%8D%E7%BD%AE%E5%8A%9F%E8%83%BD%E5%90%AF%E7%94%A8%E5%AE%83%E4%BB%AC%E3%80%82%E5%BB%BA%E8%AE%AE%E5%80%BC%EF%BC%9A%60phpmyadmin%60%E6%88%96%60pmadb%60PMA_CONTROLUSER - 定义phpMyAdmin用于高级功能的用户名(https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_controluser%EF%BC%89PMA_CONTROLPASS - 定义phpMyAdmin与https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_controlpass%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%E7%9A%84%E5%AF%86%E7%A0%81PMA_QUERYHISTORYDB - 设置为https://docs.phpmyadmin.net/en/latest/config.html#cfg_QueryHistoryDB%E6%97%B6%EF%BC%8C%E5%90%AF%E7%94%A8%E5%B0%86https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_history%E5%AD%98%E5%82%A8%E5%88%B0https://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage%E3%80%82%E8%AE%BE%E7%BD%AE%E4%B8%BAhttps://docs.phpmyadmin.net/en/latest/config.html#cfg_QueryHistoryDB%E6%97%B6%EF%BC%8C%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95%E5%AD%98%E5%82%A8%E5%9C%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%EF%BC%8C%E5%B9%B6%E5%9C%A8%E7%99%BB%E5%87%BA%E6%97%B6%E6%B8%85%E9%99%A4PMA_QUERYHISTORYMAX - 设置为整数时,控制历史项目数。默认值为25PHP配置变量
MAX_EXECUTION_TIME - 如果设置,将覆盖phpMyAdmin(https://docs.phpmyadmin.net/en/latest/config.html#cfg_ExecTimeLimit)和PHP https://www.php.net/manual/en/info.configuration.php#ini.max-execution-time%E7%9A%84%E6%9C%80%E5%A4%A7%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%EF%BC%88%E7%A7%92%EF%BC%89%EF%BC%88%E6%A0%BC%E5%BC%8F%E4%B8%BA%60%5B0-9+%5D%60%EF%BC%89MEMORY_LIMIT - 如果设置,将覆盖phpMyAdmin(https://docs.phpmyadmin.net/en/latest/config.html#cfg_MemoryLimit)和PHP https://www.php.net/manual/en/ini.core.php#ini.memory-limit%E7%9A%84%E5%86%85%E5%AD%98%E9%99%90%E5%88%B6%EF%BC%88%E9%BB%98%E8%AE%A4512M%EF%BC%89%EF%BC%88%E6%A0%BC%E5%BC%8F%E4%B8%BA%60%5B0-9+](K,M,G)`,其中K表示千字节,M表示兆字节,G表示千兆字节,1K = 1024字节)UPLOAD_LIMIT - 如果设置,此选项将覆盖apache和php-fpm的默认值(格式为[0-9+](K,M,G),默认值为2048K,这将更改upload_max_filesize和post_max_size值)TZ - 如果定义,此选项将更改默认PHPdate.timezone从UTC。支持的值参见https://www.php.net/manual/en/timezones.phpHIDE_PHP_VERSION - 如果定义,此选项将隐藏PHP版本(expose_php = Off)。设置为任何值(如HIDE_PHP_VERSION=true)APACHE_PORT - 如果定义,此选项将更改默认Apache端口从80,以防您希望它在不同的端口(如非特权端口)上运行。设置为任何端口值(如APACHE_PORT=8090)对于Docker secrets,可以在PMA_PASSWORD环境变量后附加_FILE(如果设置,它将覆盖PMA_PASSWORD):
shdocker run --name phpmyadmin -d -e PMA_PASSWORD_FILE=/run/secrets/db_password.txt -p 8080:80 mips64le/phpmyadmin
可以使用_BASE64存储文件内容的变量
PMA_SSL_CAPMA_SSL_CASPMA_SSL_KEYPMA_SSL_KEYSPMA_SSL_CERTPMA_SSL_CERTSPMA_CONFIG_BASE64PMA_USER_CONFIG_BASE64例如,变量名为PMA_SSL_CA_BASE64,值是文件内容的base64编码。
可以使用_FILE从文件读取的变量
MYSQL_ROOT_PASSWORDMYSQL_PASSWORDPMA_USERPMA_PASSWORD您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 mips64le/phpmyadmin 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: