
如果你使用 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 已被收录到 https://hub.docker.com/_/phpmyadmin%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E8%AF%A5%E5%AE%98%E6%96%B9%E4%BB%93%E5%BA%93%E6%88%96%E6%97%A7%E7%89%88 https://hub.docker.com/r/phpmyadmin/phpmyadmin/ 进行 Docker 安装。旧仓库仍在维护以方便未迁移的用户。
phpMyAdmin 是 MySQL 和 MariaDB 的 Web 管理界面。本 Docker 镜像基于 Alpine、Apache 和 PHP FPM 构建,提供开箱即用的 phpMyAdmin 部署方案,支持通过 Web 界面(默认 http://localhost:8080)进行 MySQL 数据库管理。
_FILE 变量读取敏感信息)、隐藏 PHP 版本等config.user.inc.php 实现高级配置PMA_ABSOLUTE_URI 配置正确路径以下标签可用:
latest、fpm、fpm-alpine:最新稳定版本5、5-fpm、5-fpm-alpine)5.0、5.0-fpm、5.0-fpm-alpine)5.0.0、5.0.0-fpm、5.0.0-fpm-alpine),部分版本可能包含 Docker 专用修订号(如 4.9.2-1)完整标签列表见 https://hub.docker.com/r/phpmyadmin/phpmyadmin/tags%E3%80%82
| 变体 | 说明 |
|---|---|
apache | 包含完整 Apache 服务器和 PHP,开箱即用(默认变体) |
fpm | 仅启动 PHP FPM 进程,需配合外部 Web 服务器,包含更多工具(体积较大) |
fpm-alpine | 基于 Alpine Linux,体积最小,仅包含 PHP FPM,适合资源受限环境 |
phpMyAdmin 使用 MySQL 服务器的凭证进行连接。官方 MySQL 和 MariaDB 镜像通过以下环境变量定义凭证:
MYSQL_ROOT_PASSWORD:必填,设置 root 超级用户密码MYSQL_USER/MYSQL_PASSWORD:可选,创建自定义用户并设置密码1. 链接 Docker 中的数据库服务器
将 phpMyAdmin 链接到 Docker 中运行的 MySQL/MariaDB 容器(假设数据库容器名为 mysql_db_server):
shdocker run --name myadmin -d --link mysql_db_server:db -p 8080:80 docker.xuanyuan.run/phpmyadmin
访问 http://localhost:8080 即可管理数据库。
2. 连接外部数据库服务器
通过 PMA_HOST(和可选的 PMA_PORT)指定外部 MySQL 服务器地址和端口:
shdocker run --name myadmin -d -e PMA_HOST=dbhost -e PMA_PORT=3306 -p 8080:80 docker.xuanyuan.run/phpmyadmin
3. 允许连接任意服务器
设置 PMA_ARBITRARY=1 允许在登录页面手动输入任意 MySQL 服务器地址:
shdocker run --name myadmin -d -e PMA_ARBITRARY=1 -p 8080:80 docker.xuanyuan.run/phpmyadmin
4. 使用 docker-compose 部署
以下示例启动 MariaDB 和 phpMyAdmin(支持任意服务器连接):
yamlversion: '3.1' services: db: image: docker.xuanyuan.run/mariadb:10.3 restart: always environment: MYSQL_ROOT_PASSWORD: notSecureChangeMe # 替换为安全密码 phpmyadmin: image: docker.xuanyuan.run/phpmyadmin restart: always ports: - 8080:80 environment: - PMA_ARBITRARY=1 # 允许连接任意服务器
启动命令:
shdocker-compose up -d
5. 运行 E2E 测试
使用项目提供的 docker-compose.testing.yml 运行测试环境(需先克隆 https://github.com/phpmyadmin/docker 仓库):
shdocker-compose -f docker-compose.testing.yml up phpmyadmin
6. 添加自定义配置
通过挂载 config.user.inc.php 文件添加高级配置(如配置存储设置):
shdocker run --name myadmin -d \ --link mysql_db_server:db \ -p 8080:80 \ -v /本地路径/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php \ docker.xuanyuan.run/phpmyadmin
配置文件参考:https://docs.phpmyadmin.net/en/latest/config.html#config%E3%80%82
7. 在反向代理后使用
设置 PMA_ABSOLUTE_URI 为反向代理暴露的完整 URL(如 https://pma.example.net/):
shdocker run --name myadmin -d \ -e PMA_HOST=dbhost \ -e PMA_ABSOLUTE_URI=https://pma.example.net/ \ -p 8080:80 \ docker.xuanyuan.run/phpmyadmin
核心连接参数
| 变量名 | 说明 |
|---|---|
PMA_ARBITRARY | 设为 1 时允许连接任意 MySQL 服务器 |
PMA_HOST | MySQL 服务器地址/主机名 |
PMA_VERBOSE | MySQL 服务器的显示名称 |
PMA_PORT | MySQL 服务器端口(默认 3306) |
PMA_HOSTS | 逗号分隔的多服务器地址列表(如 host1,host2) |
PMA_VERBOSES | 逗号分隔的多服务器显示名称列表(与 PMA_HOSTS 对应) |
PMA_PORTS | 逗号分隔的多服务器端口列表(与 PMA_HOSTS 对应) |
PMA_USER/PMA_PASSWORD | 仅用于 config 认证方式的默认用户名/密码 |
高级配置参数
| 变量名 | 说明 |
|---|---|
PMA_ABSOLUTE_URI | phpMyAdmin 的完整 URL(反向代理场景必需) |
PMA_CONFIG_BASE64 | base64 编码的 config.inc.php 内容,用于覆盖默认配置 |
PMA_USER_CONFIG_BASE64 | base64 编码的 config.user.inc.php 内容,用于覆盖用户配置 |
PMA_CONTROLHOST/PMA_CONTROLPORT | 配置存储数据库的地址/端口 |
PMA_PMADB | 配置存储数据库名称(如 phpmyadmin) |
PMA_CONTROLUSER/PMA_CONTROLPASS | 配置存储数据库的访问用户/密码 |
PMA_QUERYHISTORYDB | 设为 true 时启用 SQL 历史记录存储(需配置存储数据库) |
PMA_QUERYHISTORYMAX | SQL 历史记录最大条目数(默认 25) |
资源限制参数
| 变量名 | 说明 |
|---|---|
MAX_EXECUTION_TIME | PHP 执行超时时间(秒,默认 600),如 300 |
MEMORY_LIMIT | PHP 内存限制(默认 512M),如 1G |
UPLOAD_LIMIT | 上传文件大小限制(默认 2048K),如 10M |
HIDE_PHP_VERSION | 设为任意值(如 true)隐藏 PHP 版本(expose_php = Off) |
Docker Secrets 支持
以下变量支持通过 _FILE 后缀从文件读取值(优先级高于直接变量):
PMA_PASSWORD_FILEMYSQL_ROOT_PASSWORD_FILEMYSQL_PASSWORD_FILEPMA_HOSTS_FILEPMA_HOST_FILEPMA_CONTROLPASS_FILE示例(从文件读取密码):
shdocker run --name myadmin -d \ -e PMA_PASSWORD_FILE=/run/secrets/db_password.txt \ -p 8080:80 \ docker.xuanyuan.run/phpmyadmin
更多详细文档:https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 phpmyadmin/phpmyadmin 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: