mips64le/phpmyadminphpMyAdmin是一个用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
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务