
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于PHP-FPM构建的生产就绪WordPress容器,集成WP-CLI、性能优化和安全强化功能。

yamlservices: nginx: image: nginx:alpine ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - wordpress_data:/var/www/html:ro depends_on: - wordpress wordpress: image: ghcr.io/oorabona/wordpress:latest environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME} WORDPRESS_DB_USER: ${WORDPRESS_DB_USER} WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD} volumes: - wordpress_data:/var/www/html db: image: mysql:8.0 environment: MYSQL_DATABASE: ${WORDPRESS_DB_NAME} MYSQL_USER: ${WORDPRESS_DB_USER} MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} volumes: - db_data:/var/lib/mysql volumes: wordpress_data: db_data:
bash# 启动数据库 docker run -d --name wordpress-db \ -e MYSQL_DATABASE=wordpress \ -e MYSQL_USER=wordpress \ -e MYSQL_PASSWORD=secret \ -e MYSQL_ROOT_PASSWORD=rootsecret \ mysql:8.0 # 启动WordPress docker run -d --name wordpress \ --link wordpress-db:mysql \ -e WORDPRESS_DB_HOST=mysql \ -e WORDPRESS_DB_NAME=wordpress \ -e WORDPRESS_DB_USER=wordpress \ -e WORDPRESS_DB_PASSWORD=secret \ -v wordpress_data:/var/www/html \ ghcr.io/oorabona/wordpress:latest # 启动Web服务器(Nginx示例) docker run -d --name nginx \ --link wordpress:wordpress \ -p 80:80 \ -v wordpress_data:/var/www/html:ro \ -v ./nginx.conf:/etc/nginx/nginx.conf:ro \ nginx:alpine
重要提示: 此容器在9000端口运行PHP-FPM,而非Web服务器。必须配合Nginx、Apache或其他反向代理来处理HTTP流量。
| 参数 | 描述 | 默认值 |
|---|---|---|
PHP_IMAGE | 基础PHP-FPM镜像 | ghcr.io/oorabona/php:latest |
WPCLI_VERSION | WP-CLI版本 | 2.12.0 |
| 变量 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
WORDPRESS_DB_HOST | 数据库主机名 | - | 是 |
WORDPRESS_DB_NAME | 数据库名称 | - | 是 |
WORDPRESS_DB_USER | 数据库用户名 | - | 是 |
WORDPRESS_DB_PASSWORD | 数据库密码 | - | 是 |
WORDPRESS_TABLE_PREFIX | 表前缀 | wp_ | 否 |
WORDPRESS_DEBUG | 启用调试模式 | false | 否 |
继承自基础PHP镜像的其他PHP-FPM环境变量。
| 路径 | 描述 |
|---|---|
/var/www/html | WordPress安装目录 |
对于插件/主题开发,可挂载特定目录:
yamlvolumes: - wordpress_data:/var/www/html - ./my-theme:/var/www/html/wp-content/themes/my-theme - ./my-plugin:/var/www/html/wp-content/plugins/my-plugin
| 端口 | 协议 | 描述 |
|---|---|---|
9000 | TCP | PHP-FPM(需反向代理处理HTTP) |
注意: 此容器不暴露80/443端口。必须使用反向代理(Nginx、Apache、Caddy)来处理HTTP流量。参见Nginx配置示例。
在运行中的容器内执行WP-CLI命令:
bash# 检查WP-CLI信息 docker exec wordpress wp --info # 安装插件 docker exec wordpress wp plugin install contact-form-7 --activate # 更新核心 docker exec wordpress wp core update # 列出用户 docker exec wordpress wp user list # 数据库操作 docker exec wordpress wp db check docker exec wordpress wp db optimize
通过FastCGI服务WordPress的Nginx配置示例:
nginxupstream php { server wordpress:9000; } server { listen 80; server_name example.com; root /var/www/html; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location ~ /\.ht { deny all; } }
wordpress用户运行(非root)/usr/local/bin/wpyamlservices: wordpress: image: ghcr.io/oorabona/wordpress:latest read_only: true tmpfs: - /tmp - /run cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID security_opt: - no-new-privileges:true volumes: - wordpress_data:/var/www/html environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME} WORDPRESS_DB_USER: ${WORDPRESS_DB_USER} WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
###凭证管理切勿硬编码密码:```yaml
environment: WORDPRESS_DB_PASSWORD: mysecretpassword
environment: WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
secrets: db_password: file: ./secrets/db_password.txt environment: WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
## 性能调优 ### WordPress优化的OPcache设置 容器包含优化的OPcache配置: ```ini opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=2 opcache.fast_shutdown=1 opcache.enable_cli=1
继承自基础PHP镜像:
可通过环境变量或自定义PHP配置文件覆盖。
| 组件 | 版本 | 来源 | 监控 |
|---|---|---|---|
| PHP | latest | https://github.com/oorabona/docker-containers/tree/master/php | 基础镜像标签 |
| WP-CLI | 2.12.0 | https://github.com/wp-cli/wp-cli | GitHub releases |
依赖版本通过CI/CD自动监控和更新。
内置健康检查验证PHP-FPM状态:
bash# 手动健康检查 docker exec wordpress php-fpm -t # Docker健康状态 docker inspect --format='{{.State.Health.Status}}' wordpress
bash# 通过WP-CLI备份 docker exec wordpress wp db export /tmp/backup.sql # 将备份复制出容器 docker cp wordpress:/tmp/backup.sql ./backup.sql
bash# 备份WordPress文件 docker exec wordpress tar -czf /tmp/wp-files.tar.gz /var/www/html # 复制备份文件 docker cp wordpress:/tmp/wp-files.tar.gz ./wp-files.tar.gz
bash# 恢复数据库 docker exec -i wordpress wp db import - < backup.sql # 恢复文件 docker cp wp-files.tar.gz wordpress:/tmp/ docker exec wordpress tar -xzf /tmp/wp-files.tar.gz -C /
bash# 使用默认版本构建 ./make build wordpress # 使用特定PHP版本构建 docker build \ --build-arg PHP_IMAGE=ghcr.io/oorabona/php:8.2-fpm-alpine \ --build-arg WPCLI_VERSION=2.12.0 \ -t wordpress:custom . # 检查当前版本 ./version.sh current # 检查最新上游版本 ./version.sh latest
wordpress/ ├── Dockerfile # 基于PHP镜像的多阶段构建 ├── config.yaml # WP-CLI版本和依赖配置 ├── docker-compose.yml # 示例compose文件 ├── docker-entrypoint.sh # 容器入口脚本 ├── version.sh # 版本发现脚本 └── README.md # 本文档
Alpine Linux └── PHP-FPM (来自oorabona/php) └── WordPress附加组件 ├── WP-CLI ├── MariaDB客户端 ├── WordPress优化的OPcache └── 安全强化
以下是 oorabona/wordpress 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务