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 - 如果定义,此选项将设置可保存文件以用于导入的路径([$cfg['UploadDir']]([***]PMA_SAVEDIR - 如果定义,此选项将设置可保存导出文件的路径([$cfg['SaveDir']]([***]高级功能变量
PMA_CONTROLHOST - 设置时,指向用于存储phpMyAdmin配置存储数据库的备用数据库主机PMA_CONTROLPORT - 如果设置,将覆盖连接到控制主机以存储phpMyAdmin配置存储数据库的默认端口(3306)PMA_PMADB - 定义用于phpMyAdmin配置存储数据库的数据库名称。未设置时,默认不启用高级功能:用户登录时仍可通过零配置功能启用它们。建议值:phpmyadmin或pmadbPMA_CONTROLUSER - 定义phpMyAdmin用于高级功能的用户名(controluser)PMA_CONTROLPASS - 定义phpMyAdmin与controluser一起使用的密码PMA_QUERYHISTORYDB - 设置为true时,启用将SQL历史存储到phpMyAdmin配置存储数据库。设置为false时,历史记录存储在浏览器中,并在登出时清除PMA_QUERYHISTORYMAX - 设置为整数时,控制历史项目数。默认值为25PHP配置变量
MAX_EXECUTION_TIME - 如果设置,将覆盖phpMyAdmin([$cfg['ExecTimeLimit']]([***] max_execution_time的最大执行时间(秒)(格式为[0-9+])MEMORY_LIMIT - 如果设置,将覆盖phpMyAdmin([$cfg['MemoryLimit']]([***] memory_limit的内存限制(默认512M)(格式为[0-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。支持的值参见文档HIDE_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 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务