arm64v8/wordpressarm64v8/wordpress 是针对ARM64架构优化的WordPress官方Docker镜像,基于PHP和MySQL构建,用于快速部署功能完备的内容管理系统(CMS)。WordPress是一款免费开源的博客工具和CMS,支持插件扩展、主题定制和多语言内容管理,广泛应用于个人博客、企业网站、电商平台等场景。
wp-content目录挂载实现功能扩展。| 标签格式 | 说明 | Dockerfile链接 |
|---|---|---|
6.8.3-php8.1-apache 等 | 指定WordPress版本、PHP版本和服务器类型(Apache/FPM) | 示例 |
6.8.3-apache, latest, 6, 6.8 | 省略PHP版本(默认最新稳定版) | 示例 |
cli-2.12.0-php8.1 等 | WP-CLI工具镜像,用于命令行管理 | 示例 |
完整标签列表见官方仓库。
bash# 启动WordPress容器,连接外部MySQL数据库 docker run --name some-wordpress \ --network some-network \ # 与数据库容器共享网络 -p 8080:80 \ # 映射端口到主机8080 -e WORDPRESS_DB_HOST=db:3306 \ # 数据库地址(容器名:端口) -e WORDPRESS_DB_USER=exampleuser \ # 数据库用户名 -e WORDPRESS_DB_PASSWORD=examplepass \ # 数据库密码 -e WORDPRESS_DB_NAME=exampledb \ # 数据库名(需提前创建) -d arm64v8/wordpress
访问 http://localhost:8080 或 http://<主机IP>:8080 进入安装向导。
创建 compose.yaml:
yamlservices: wordpress: image: arm64v8/wordpress restart: always ports: - "8080:80" # 主机端口:容器端口(Apache/PHP-FPM默认80) environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wpuser WORDPRESS_DB_PASSWORD: wppass WORDPRESS_DB_NAME: wpdb volumes: - wordpress_data:/var/www/html # 持久化数据卷 db: image: arm64v8/mysql:8.0 # ARM64兼容的MySQL镜像 restart: always environment: MYSQL_DATABASE: wpdb MYSQL_USER: wpuser MYSQL_PASSWORD: wppass MYSQL_RANDOM_ROOT_PASSWORD: "1" # 自动生成root密码 volumes: - db_data:/var/lib/mysql # MySQL数据持久化 volumes: wordpress_data: db_data:
启动服务:
bashdocker compose up -d
| 环境变量 | 说明 | 默认值 |
|---|---|---|
WORDPRESS_DB_HOST | 数据库主机地址(含端口,如db:3306) | 无(必填) |
WORDPRESS_DB_USER | 数据库用户名 | 无(必填) |
WORDPRESS_DB_PASSWORD | 数据库密码 | 无(必填) |
WORDPRESS_DB_NAME | 数据库名(需提前创建) | wordpress |
WORDPRESS_TABLE_PREFIX | 数据库表前缀 | wp_ |
WORDPRESS_DEBUG | 启用调试模式(1为启用) | 禁用 |
WORDPRESS_CONFIG_EXTRA | 额外配置代码(通过eval执行) | 无 |
WORDPRESS_AUTH_KEY 等密钥 | 安全密钥(建议通过官方生成器获取) | 自动生成随机值 |
支持通过文件加载敏感配置(如密码),格式为 ENV_NAME_FILE=/path/to/secret/file:
bashdocker run -e WORDPRESS_DB_PASSWORD_FILE=/run/secrets/db_password \ --secret db_password \ # Docker Secrets挂载 arm64v8/wordpress
如需安装额外PHP扩展(如gd、mysqli),可基于官方镜像构建自定义镜像:
dockerfileFROM arm64v8/wordpress:latest # 安装GD库(用于图像处理) RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev; \ docker-php-ext-configure gd --with-freetype --with-jpeg; \ docker-php-ext-install -j$(nproc) gd; \ apt-get clean; \ rm -rf /var/lib/apt/lists/*
通过数据卷挂载或构建自定义镜像集成:
bash# 宿主机目录结构示例 ./my-theme/ # 自定义主题 ./my-plugin/ # 自定义插件 # 启动容器时挂载 docker run -v $(pwd)/my-theme:/var/www/html/wp-content/themes/my-theme \ -v $(pwd)/my-plugin:/var/www/html/wp-content/plugins/my-plugin \ arm64v8/wordpress
确保目录权限正确(容器内用户www-data需读写权限)。
如需构建包含预配置内容的镜像(如固定主题/插件),可在Dockerfile中复制文件到/usr/src/wordpress(初始化时会复制到/var/www/html):
dockerfileFROM arm64v8/wordpress:latest COPY ./my-theme /usr/src/wordpress/wp-content/themes/my-theme COPY ./my-plugin /usr/src/wordpress/wp-content/plugins/my-plugin
arm64v8/wordpress:<version>-apachearm64v8/wordpress:<version>-fpmarm64v8/wordpress:cliwp-cli命令行工具,用于自动化管理(如安装插件、导出数据)。bashdocker run --rm -v $(pwd):/app arm64v8/wordpress:cli \ wp core download --path=/app --locale=zh_CN
容器内默认用户为www-data(UID 33),挂载卷时需确保宿主机目录权限与容器内一致:
bashchown -R 33:33 ./my-theme # 调整宿主机目录所有者为容器内用户
WORDPRESS_DB_HOST是否正确(使用容器名时需在同一网络)。%主机访问)。在wp-config.php中添加编码配置(通过环境变量WORDPRESS_CONFIG_EXTRA):
bash-e WORDPRESS_CONFIG_EXTRA="define('DB_CHARSET', 'utf8mb4'); define('DB_COLLATE', 'utf8mb4_unicode_ci');"


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