
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
自定义WordPress Docker镜像,在官方WordPress镜像基础上扩展,提供完整数据库配置、memcached和LDAP PHP扩展支持,以及WP-CLI工具,适用于多种部署场景。
该镜像基于https://hub.docker.com/_/wordpress/%E6%9E%84%E5%BB%BA%EF%BC%8C%E6%B7%BB%E5%8A%A0%E4%BA%86LDAP%E5%92%8CMemcached PHP扩展以支持相关WordPress插件。灵感来源于https://github.com/fjudith/docker-wordpress%EF%BC%8C%E5%90%8C%E6%97%B6%E6%8F%90%E4%BE%9BApache%E5%8F%98%E4%BD%93%E3%80%82%E9%95%9C%E5%83%8F%E8%AE%BE%E8%AE%A1%E7%94%A8%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%8E%AF%E5%A2%83%EF%BC%8C%E6%8F%90%E4%BE%9B%E4%B8%A4%E7%A7%8D%E7%89%88%E6%9C%AC%EF%BC%9A%60apache%60%EF%BC%88%E5%8C%85%E5%90%AB%E5%AE%8C%E6%95%B4Web%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%E5%92%8C%60fpm%60%EF%BC%88FastCGI%E8%BF%9B%E7%A8%8B%EF%BC%8C%E9%9C%80%E9%85%8D%E5%90%88%E5%A4%96%E9%83%A8Web%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%E3%80%82
镜像标签信息可在https://hub.docker.com/r/monogramm/docker-wordpress/%E6%9F%A5%E7%9C%8B%EF%BC%8C%E4%B8%BB%E8%A6%81%E6%A0%87%E7%AD%BE%E5%8C%85%E6%8B%AC%EF%BC%9A
5.7-apache、5.7:基于WordPress 5.7、PHP 7.4的Apache版本5.7-fpm:基于WordPress 5.7、PHP 7.4的FPM版本5.7-fpm-alpine:基于WordPress 5.7、PHP 7.4的FPM Alpine版本5.6-apache、apache、5.6、latest:基于WordPress 5.6、PHP 7.4的Apache版本(默认标签)5.6-fpm、fpm:基于WordPress 5.6、PHP 7.4的FPM版本5.6-fpm-alpine、fpm-alpine:基于WordPress 5.6、PHP 7.4的FPM Alpine版本该镜像不包含数据库,需配合现有数据库或数据库容器使用。
Apache镜像包含Web服务器并暴露80端口,可直接运行:
console$ docker run -d -p 8080:80 monogramm/docker-wordpress
运行后可通过http://localhost:8080访问WordPress。
FPM镜像基于php-fpm,暴露9000端口,需配合Web服务器(如Nginx)使用。不建议直接映射端口到主机,而是通过Docker网络连接:
console$ docker run -d monogramm/docker-wordpress:fpm
Web服务器需通过volumes-from选项访问WordPress静态文件(样式表、图片等)。
首次运行时,WordPress安装向导会提示连接MySQL/MariaDB数据库。也可通过--link参数链接数据库容器:
console$ docker run -d --link my-mysql:mysql monogramm/docker-wordpress
此时数据库主机可设为mysql。
WordPress数据(安装文件、上传文件等)存储在/var/www/html目录,建议使用命名卷或主机目录挂载确保数据持久化:
WordPress数据持久化:
console$ docker run -d \ -v wordpress_html:/var/www/html \ monogramm/docker-wordpress
数据库数据持久化(以MariaDB为例):
console$ docker run -d \ -v db:/var/lib/mysql \ mariadb
支持以下环境变量配置WordPress实例:
WORDPRESS_DB_HOST:数据库主机(默认:链接的mysql容器IP和端口)WORDPRESS_DB_USER:数据库用户(默认:root)WORDPRESS_DB_PASSWORD:数据库密码(默认:链接的mysql容器的MYSQL_ROOT_PASSWORD值)WORDPRESS_DB_NAME:数据库名(默认:wordpress,若不存在且用户有创建权限则自动创建)WORDPRESS_TABLE_PREFIX:数据库表前缀(默认:空)WORDPRESS_AUTH_KEY、WORDPRESS_SECURE_AUTH_KEY、WORDPRESS_LOGGED_IN_KEY、WORDPRESS_NONCE_KEY、WORDPRESS_AUTH_SALT、WORDPRESS_SECURE_AUTH_SALT、WORDPRESS_LOGGED_IN_SALT、WORDPRESS_NONCE_SALT:安全密钥(默认:随机SHA1值)此配置使用Apache镜像和MariaDB容器,数据持久化到Docker卷,适用于无SSL的代理后端场景。
创建docker-compose.yml:
ymlversion: '2' volumes: wordpress_html: wordpress_db: services: mariadb: image: mariadb:latest restart: always volumes: - wordpress_db:/var/lib/mysql environment: - "MYSQL_ROOT_PASSWORD=<设置根密码>" - "MYSQL_PASSWORD=<设置用户密码>" - "MYSQL_DATABASE=wordpress" - "MYSQL_USER=wordpress" wordpress: image: monogramm/docker-wordpress restart: always depends_on: - mariadb ports: - "8080:80" environment: - "WORDPRESS_DB_HOST=mariadb" - "WORDPRESS_DB_NAME=wordpress" - "WORDPRESS_DB_USER=wordpress" - "WORDPRESS_DB_PASSWORD=<设置用户密码>" volumes: - wordpress_html:/var/www/html
启动服务:
console$ docker-compose up -d
访问http://localhost:8080开始WordPress安装向导。
此配置使用FPM镜像、Nginx作为Web服务器、Memcached作为缓存,需提供Nginx配置文件。
创建docker-compose.yml:
ymlversion: '2' volumes: wordpress_html: wordpress_db: services: memcached: image: memcached mariadb: image: mariadb:latest restart: always volumes: - wordpress_db:/var/lib/mysql environment: - "MYSQL_ROOT_PASSWORD=<设置根密码>" - "MYSQL_PASSWORD=<设置用户密码>" - "MYSQL_DATABASE=wordpress" - "MYSQL_USER=wordpress" wordpress: image: monogramm/docker-wordpress:fpm depends_on: - mariadb ports: - "9000:9000" environment: - "WORDPRESS_DB_HOST=mariadb" - "WORDPRESS_DB_NAME=wordpress" - "WORDPRESS_DB_USER=wordpress" - "WORDPRESS_DB_PASSWORD=<设置用户密码>" volumes: - wordpress_html:/var/www/html web: image: nginx ports: - 8080:80 links: - wordpress volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro volumes_from: - wordpress restart: always
需创建nginx.conf配置文件(可参考https://github.com/fjudith/docker-wordpress%E8%8E%B7%E5%8F%96%E7%A4%BA%E4%BE%8B%E9%85%8D%E7%BD%AE%EF%BC%89%E3%80%82%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%90%8E%E8%AE%BF%E9%97%AE%60http://localhost:8080%60%E5%BC%80%E5%A7%8B%E5%AE%89%E8%A3%85%E3%80%82
WP-FFPC插件或通过WP-CLI命令配置:
bashwordpress_command() { docker exec -it --user www-data wordpress wp "$@" } WPFFPC_SETTINGS={ WPFFPC_SETTINGS=$"$WPFFPC_SETTINGS\"cache_type\": \"memcached\"" WPFFPC_SETTINGS=$"$WPFFPC_SETTINGS, \"hosts\": \"memcached:11211\"" WPFFPC_SETTINGS=$"$WPFFPC_SETTINGS, \"memcached_binary\": \"1\"" WPFFPC_SETTINGS=$"$WPFFPC_SETTINGS, \"authuser\": \"\"" WPFFPC_SETTINGS=$"$WPFFPC_SETTINGS, \"authpass\": \"\"" WPFFPC_SETTINGS="$WPFFPC_SETTINGS}" wordpress_command option add wp-ffpc "$WPFFPC_SETTINGS" --format=json
建议在前端添加反向代理实现SSL加密,确保流量安全。可手动挂载证书或使用自动证书生成/续期方案。
通过WP-CLI命令更新核心、插件和主题:
交互式更新:
bash$ docker exec --user www-data wordpress bash www-data@container:/var/www/html$ wp core update www-data@container:/var/www/html$ wp plugins update --all www-data@container:/var/www/html$ wp theme update --all
非交互式更新:
bash$ docker exec --user www-data wordpress bash -c 'wp core update && wp plugins update --all && wp theme update --all'
如需添加额外包,可基于此镜像构建自定义镜像:
dockerfileFROM monogramm/docker-wordpress:apache RUN apt-get update && apt-get install -y <所需包> && rm -rf /var/lib/apt/lists/*
也可克隆https://github.com/Monogramm/docker-wordpress%EF%BC%8C%E4%BD%BF%E7%94%A8%60update.sh%60%E8%84%9A%E6%9C%AC%E7%94%9F%E6%88%90%E8%87%AA%E5%AE%9A%E4%B9%89Dockerfile%EF%BC%8C%E4%BE%8B%E5%A6%82%E6%9E%84%E5%BB%BA%E5%9F%BA%E4%BA%8EWordPress%E5%BC%80%E5%8F%91%E5%88%86%E6%94%AF%E7%9A%84%E9%95%9C%E5%83%8F%EF%BC%9A
bashversions=( "master" ) bash update.sh
生成的Dockerfile位于images/master目录。在docker-compose中使用自定义镜像时,将image替换为build:
yamlwordpress: build: . depends_on: - mariadb restart: always
更新自定义镜像:
console$ docker-compose build --pull $ docker-compose up -d
使用中遇到问题,请访问https://github.com/Monogramm/docker-wordpress%E6%8F%90%E4%BA%A4issue%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务