amd64/wordpress本镜像为官方WordPress镜像的amd64架构专用仓库。有关多架构支持的更多信息,请参见官方镜像文档中的“非amd64架构”说明及官方镜像FAQ中的“镜像源变更处理”。
WordPress是一款基于PHP和MySQL的免费开源博客工具及内容管理系统(CMS),支持插件架构和模板系统,被广泛用于搭建各类网站。本Docker镜像具备以下特性:
以下为主要标签及其对应的Dockerfile链接(按PHP版本分组):
6.8.3-php8.1-apache, 6.8-php8.1-apache, 6-php8.1-apache, php8.1-apache, 6.8.3-php8.1, 6.8-php8.1, 6-php8.1, php8.1 Dockerfile6.8.3-php8.1-fpm, 6.8-php8.1-fpm, 6-php8.1-fpm, php8.1-fpm Dockerfile6.8.3-php8.1-fpm-alpine, 6.8-php8.1-fpm-alpine, 6-php8.1-fpm-alpine, php8.1-fpm-alpine Dockerfile6.8.3-php8.2-apache, 6.8-php8.2-apache, 6-php8.2-apache, php8.2-apache, 6.8.3-php8.2, 6.8-php8.2, 6-php8.2, php8.2 Dockerfile6.8.3-php8.2-fpm, 6.8-php8.2-fpm, 6-php8.2-fpm, php8.2-fpm Dockerfile6.8.3-php8.2-fpm-alpine, 6.8-php8.2-fpm-alpine, 6-php8.2-fpm-alpine, php8.2-fpm-alpine Dockerfile6.8.3-apache, 6.8-apache, 6-apache, apache, 6.8.3, 6.8, 6, latest, 6.8.3-php8.3-apache, 6.8-php8.3-apache, 6-php8.3-apache, php8.3-apache, 6.8.3-php8.3, 6.8-php8.3, 6-php8.3, php8.3 Dockerfile6.8.3-fpm, 6.8-fpm, 6-fpm, fpm, 6.8.3-php8.3-fpm, 6.8-php8.3-fpm, 6-php8.3-fpm, php8.3-fpm Dockerfile6.8.3-fpm-alpine, 6.8-fpm-alpine, 6-fpm-alpine, fpm-alpine, 6.8.3-php8.3-fpm-alpine, 6.8-php8.3-fpm-alpine, 6-php8.3-fpm-alpine, php8.3-fpm-alpine Dockerfile6.8.3-php8.4-apache, 6.8-php8.4-apache, 6-php8.4-apache, php8.4-apache, 6.8.3-php8.4, 6.8-php8.4, 6-php8.4, php8.4 Dockerfile6.8.3-php8.4-fpm, 6.8-php8.4-fpm, 6-php8.4-fpm, php8.4-fpm Dockerfile6.8.3-php8.4-fpm-alpine, 6.8-php8.4-fpm-alpine, 6-php8.4-fpm-alpine, php8.4-fpm-alpine Dockerfilecli-2.12.0-php8.1, cli-2.12-php8.1, cli-2-php8.1, cli-php8.1 Dockerfilecli-2.12.0-php8.2, cli-2.12-php8.2, cli-2-php8.2, cli-php8.2 Dockerfilecli-2.12.0, cli-2.12, cli-2, cli, cli-2.12.0-php8.3, cli-2.12-php8.3, cli-2-php8.3, cli-php8.3 Dockerfilecli-2.12.0-php8.4, cli-2.12-php8.4, cli-2-php8.4, cli-php8.4 Dockerfile除amd64外,官方WordPress镜像还支持:arm32v5, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x(需使用对应架构仓库,如arm64v8/wordpress)
本镜像适用于以下场景:
console$ docker run --name some-wordpress --network some-network -d amd64/wordpress
console$ docker run --name some-wordpress -p 8080:80 -d amd64/wordpress
启动后通过http://localhost:8080或[***]访问。
通过环境变量可配置WordPress实例,所有变量支持_FILE后缀(从文件读取值,用于Docker Secrets):
| 变量名 | 描述 | 必填 | 默认值 |
|---|---|---|---|
WORDPRESS_DB_HOST | 数据库主机地址 | 是 | - |
WORDPRESS_DB_USER | 数据库用户名 | 是 | - |
WORDPRESS_DB_PASSWORD | 数据库密码 | 是 | - |
WORDPRESS_DB_NAME | 数据库名称 | 是 | - |
WORDPRESS_TABLE_PREFIX | 数据库表前缀 | 否 | wp_ |
WORDPRESS_AUTH_KEY | 认证密钥 | 否 | 随机SHA1值 |
WORDPRESS_SECURE_AUTH_KEY | 安全认证密钥 | 否 | 随机SHA1值 |
WORDPRESS_LOGGED_IN_KEY | 登录状态密钥 | 否 | 随机SHA1值 |
WORDPRESS_NONCE_KEY | 随机数密钥 | 否 | 随机SHA1值 |
WORDPRESS_AUTH_SALT | 认证盐值 | 否 | 随机SHA1值 |
WORDPRESS_SECURE_AUTH_SALT | 安全认证盐值 | 否 | 随机SHA1值 |
WORDPRESS_LOGGED_IN_SALT | 登录状态盐值 | 否 | 随机SHA1值 |
WORDPRESS_NONCE_SALT | 随机数盐值 | 否 | 随机SHA1值 |
WORDPRESS_DEBUG | 启用调试模式 | 否 | 禁用(非空值启用) |
WORDPRESS_CONFIG_EXTRA | 额外配置代码 | 否 | - |
注意:
WORDPRESS_DB_NAME需提前在数据库中创建,容器不会自动创建数据库。
通过_FILE后缀从Docker Secrets读取敏感信息:
console$ docker run --name some-wordpress \ -e WORDPRESS_DB_PASSWORD_FILE=/run/secrets/mysql-password \ -e WORDPRESS_AUTH_KEY_FILE=/run/secrets/wp-auth-key \ --secret mysql-password \ --secret wp-auth-key \ -d amd64/wordpress
创建compose.yaml文件:
yamlservices: wordpress: image: amd64/wordpress restart: always ports: - "8080:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb volumes: - wordpress_data:/var/www/html # 持久化WordPress数据 db: image: mysql:8.0 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: "1" # 自动生成root密码 volumes: - db_data:/var/lib/mysql # 持久化数据库数据 volumes: wordpress_data: db_data:
启动服务:
console$ docker compose up -d
基于本镜像构建自定义镜像以添加扩展(示例:安装GD库):
dockerfileFROM amd64/wordpress:apache RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends libpng-dev; \ docker-php-ext-install gd; \ apt-get clean; \ rm -rf /var/lib/apt/lists/*
/var/www/html/wp-content/themes/或/var/www/html/wp-content/plugins//usr/src/wordpress/wp-content/(容器首次启动时复制到/var/www/html/)构建只读镜像(禁止容器内更新):
dockerfileFROM amd64/wordpress:apache WORKDIR /usr/src/wordpress RUN set -eux; \ # 修改Apache配置指向源码目录 find /etc/apache2 -name '*.conf' -type f -exec sed -ri -e "s!/var/www/html!$PWD!g" -e "s!Directory /var/www/!Directory $PWD!g" '{}' +; \ # 链接配置文件 cp -s wp-config-docker.php wp-config.php; # 添加自定义主题/插件 COPY custom-theme/ ./wp-content/themes/custom-theme/ COPY custom-plugin/ ./wp-content/plugins/custom-plugin/
启动只读容器:
console$ docker run --read-only \ --tmpfs /tmp \ --tmpfs /run \ -v wp_uploads:/usr/src/wordpress/wp-content/uploads \ # 仅上传目录


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务