phpMyAdmin是一个用PHP编写的免费软件工具,旨在通过Web界面管理MySQL和MariaDB数据库。该Docker镜像提供了phpMyAdmin的容器化部署方案,支持多种架构,包含Apache Web服务器和PHP环境,可快速搭建数据库管理界面。
警告: 此镜像在
mips64le架构上不受支持
!logo
amd64 ([***]arm32v5 ([***]arm32v6 ([***]arm32v7 ([***]arm64v8 ([***]i386 ([***]ppc64le ([***]riscv64 ([***]s390x ([***]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完整标签列表可在Docker Hub查看。
提供三种镜像变体以适应不同需求:
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的完全限定路径(如[***])。
为了在容器更新之间保持会话活动,需要挂载/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连接的套接字文件的逗号分隔列表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认证方法一起使用,定义用户名和密码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 - 设置为整数时,控制历史项目数。默认值为25MAX_EXECUTION_TIME - 如果设置,将覆盖phpMyAdmin([$cfg['ExecTimeLimit']]([***] max_execution_time的最大执行时间(秒)(格式为[0-9+])MEMORY_LIMIT - 如果设置,将覆盖phpMyAdmin([$cfg['MemoryLimit']]([***] memory_limit的内存限制(默认512M)(格式为0-9+,其中K表示千字节,M表示兆字节,G表示千兆字节,1K = 1024字节)UPLOAD_LIMIT - 如果设置,此选项将覆盖apache和php-fpm的默认值(格式为0-9+,默认值为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
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429