轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
热门搜索:
wordpress

ideasonpurpose/wordpress

ideasonpurpose

支持调试功能的WordPress镜像,专为本地开发环境设计,包含预配置的MySQL、PHP服务器、Xdebug、ImageMagick及辅助脚本,基于官方WordPress 6.9.4镜像构建,可快速搭建和迭代WordPress网站开发环境。

1 次收藏下载次数: 0状态:社区镜像维护者:ideasonpurpose仓库类型:镜像最近更新:27 天前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
标签列表
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。
点击查看

使用Docker进行WordPress本地开发

版本 1.9.3 - WordPress 6.9.4

关于本项目

本项目提供用于快速迭代现有WordPress网站的本地开发环境,包含预配置的基于Docker的MySQL和PHP服务器、https://github.com/ideasonpurpose/docker-build、Xdebug、ImageMagick以及多个辅助脚本。

该项目基于官方WordPress镜像构建,当前版本为**https://hub.docker.com/_/wordpress**%E3%80%82

快速开始

要更新现有项目或启动新项目,请在工作目录中运行以下命令。

macOS、Linux及Windows PowerShell

docker run --rm -it -v ${PWD}:/usr/src/site ideasonpurpose/wordpress:6.9.4 init

然后运行:

npm run bootstrap

注意:如果~/.composer目录不存在,挂载Docker卷时会以root权限创建该目录,可能导致Composer任务失败。请在运行npm run bootstrap前创建该目录,或通过sudo chown -R $UID:$GID .composer重置权限后重新运行bootstrap。详见https://github.com/ideasonpurpose/docker-wordpress-dev/issues/21%E3%80%82

Windows命令提示符

docker run --rm -it -v %cd%:/usr/src/site ideasonpurpose/wordpress:6.9.4 init
  • init命令会复制所有必要的工具文件并设置默认主题目录结构。
  • npm run bootstrap通过安装npm和composer依赖并重新加载数据库来准备环境。

安装与先决条件

需安装Docker和npm(node.js)。开发服务器通过Docker镜像运行,所有工作流命令通过npm脚本调用。

新项目

在空目录中运行init会提示输入新项目名称和描述,然后构建完整环境及基础主题框架。

现有项目

最近更新的项目可运行npm run project:refresh将工具更新至最新版本。

旧项目应手动运行init进行更新。项目需处于Git工作树干净状态,以便轻松回滚不需要的更改。

将更新以下文件:

  • Docker-compose文件将更新至最新版本。
  • 默认package.json脚本将合并到现有脚本中。
  • DevDependencies、Scripts和Prettier属性将复制到现有package.json中。
  • 默认composer.json包和元数据将复制到现有composer.json中。
  • 从https://gist.github.com/joemaller/4f7518e0d04a82a3ca16%E6%9B%B4%E6%96%B0.gitignore%E3%80%82
  • 基础主题文件夹结构将以非破坏性方式刷新,添加缺失文件夹。
  • 创建缺失的ideasonpurpose.config.js文件。
  • 重置主题目录和已知工具文件的权限。

在调用npm run start前,将数据库快照复制到顶级**_db目录,将所需插件添加到Plugins目录,并将媒体文件镜像到Uploads**目录。

Plugins和Uploads文件夹不应提交到Git,但应从生产站点镜像,以确保本地环境正常工作。

在**.env中配置SSH密钥路径后,可通过npm run pull命令从远程服务器同步数据库、插件和上传文件。.env.sample**文件记录了所需凭据。

数据库

顶级**_db**目录中的所有*.sql文件将按字母顺序执行,后续文件会覆盖先前文件。

工作流与命令

基本开发命令

  • npm run start
    启动数据库和PHP服务器,通过devServer代理在http://localhost:8080提供所有内容。监视项目目录中的文件更改,保存时触发重新加载。按control-c停止本地服务器。可通过--port=8080更改默认端口。

  • npm version [major|minor|patch]
    递增版本号,然后使用https://github.com/joemaller/version-everything更新项目文件,再调用npm run build生成生产构建,并将所有主题文件压缩为带版本号的可部署zip归档。

其他命令和辅助工具

  • bootstrap
    项目启动辅助脚本,安装npm和composer依赖,重新加载MySQL数据库,激活开发主题,并排序package.json文件。

  • build - 生成生产就绪的zip归档构建,可直接部署。

  • composer
    从Docker中运行composer install。

    • composer:install - 从composer.lock文件安装包
    • composer:require - 添加新包并更新composer.json
    • composer:update - 将composer依赖更新到最新允许版本并重写composer.lock文件
  • db:admin - 在localhost:8002启动phpMyAdmin服务器

  • db:dump - 将带时间戳的压缩数据库快照写入**_db**目录

  • db:pull - pull:db的别名

  • db:reload - 删除并从**_db**中最新的转储文件重新加载数据库,然后尝试激活开发主题

  • db:shell - 打开开发WordPress数据库的shell

  • dev - start的别名

  • mariadb、mysql - db:admin的别名

  • mariadb-dump、db:dump、mysql:dump、mysqldump - db:dump的别名

  • mariadb:reload、mysql:reload - db:reload的别名

  • phpmyadmin - db:admin的别名

  • project:refresh - 使用最新工具更新项目

  • pull
    将数据从远程服务器同步到本地开发环境。不带参数时运行以下子命令:

    • pull:db - 同步最新MySQL转储文件,备份当前开发数据库并重新加载
    • pull:plugins - 从远程同步wp-content/plugins
    • pull:uploads <$YEAR> - 从远程同步当前年份的wp-content/uploads/$YEAR,可通过可选年份参数指定特定年份
    • pull:uploads-all - 从远程同步整个wp-content/uploads目录
  • logs:wordpress - 流式输出WordPress debug.log

  • wp-cli - 运行wp-cli命令,默认命令重新激活开发主题

macOS上的权限修复

在macOS主机上,修改挂载Docker卷内的权限会在主机上的共享文件添加扩展属性,而非修改实际权限或所有权。在终端中运行ls -la@或xattr -l <file>可查看这些值。扩展属性值前缀为com.docker.grpcfuse,无论Docker使用gRPC FUSE还是VirtioFS(它们都是FUSE)。

从远程服务器拉取数据

npm run pull命令整合多个子命令将远程数据同步到本地开发环境,每个命令也可单独调用。连接信息必须在**.env文件中配置,.env.sample**文件记录了各值的说明。

私钥通过Docker Secrets传递给镜像,在**.env**中通过$SSH_KEY_PATH指向本地私钥。

目前支持从WP Engine和Kinsta*拉取上传文件、插件和数据库转储。

需在项目根目录的.env文件中配置每台机器的连接。新项目需将.env.example重命名为**.env**并更新设置。

重要属性:

  • SSH_KEY_PATH
    本地私钥路径。如果已将id_rsa_wpengine.pub密钥上传到WP Engine账户,指向对应的私钥:~/.ssh/id_rsa_wpengine

  • SSH_LOGIN
    WP Engine后台的SSH连接字符串,如iop001@iop001.ssh.wpengine.net,格式为${SSH_USER}@${SSH_HOST}。也可单独输入各部分,单独输入项优先于从SSH_CONNECT_STRING提取的组件。

  • SSH_USER
    连接服务器的用户账户。

  • SSH_HOST
    服务器地址。

  • SSH_WP_CONTENT_DIR
    (默认:sites/${SSH_USER}/wp-content) WordPress wp-content文件夹路径,通常与WP_CONTENT_DIR常量匹配。不带尾斜杠,可为相对于SSH用户主目录的路径或绝对路径。

$SSH_LOGIN和$SSH_HOST可从$SSH_LOGIN提取,指定任一值将覆盖$SSH_LOGIN中的对应值。

从Kinsta同步数据库

与WP Engine不同,Kinsta不在站点的wp-content目录中存储定期数据库快照,但允许使用cron。设置基本crontab任务定期备份数据库,以便拉取脚本正常工作。以下示例每小时37分执行备份:

cron
# 每小时转储数据库用于开发镜像
37      *       *       *       *       mysqldump --default-character-set=utf8mb4 -udb_user -pdb_password db_name > ~/public/wp-content/mysql.sql

Kinsta和WP Engine的服务器均不允许请求*.sql文件,且db_user、db_password和db_name已明文存储在wp-config.php中,因此无安全风险。

调试

默认启用WP_DEBUG,可通过在**.env**配置文件中设置WORDPRESS_DEBUG变量切换。

更新WordPress

基础镜像提供特定版本的WordPress,但运行后可通过wp-admin仪表板像其他站点一样升级。

也可使用wp-cli更新到WordPress的预发布版本,示例命令:

sh
npm run wp-cli wp core update https://wordpress.org/wordpress-6.5-RC3.zip

可通过删除Docker *_wp卷回滚版本。

升级镜像版本

npm run bump脚本将查询WordPress发布API和DockerHub,更新docker镜像和README至最新WordPress镜像。

要更新到预发布镜像,在wp-version.json文件中输入有效的DockerHub标签。

插件开发

项目通常依赖并行开发的插件。提供多个占位符IOP_DEV_PLUGIN_#环境变量,可用于将插件直接挂载到WordPress环境。这改善了版本控制和依赖管理,因为嵌套且被.gitignore忽略的wp-content/plugins目录常与父主题冲突。

要将开发插件添加到WordPress环境,将插件的本地相对路径指向容器内的绝对路径。例如,要将同级目录中开发的example-plugin项目提供给当前WordPress开发环境:

   IOP_DEV_PLUGIN_1="../example-plugin:/var/www/html/wp-content/plugins/example-plugin"
   IOP_DEV_PLUGIN_2=
   IOP_DEV_PLUGIN_3=

访问运行中的容器

要在任何运行中的Docker容器上打开shell,运行docker ps获取容器ID或名称,然后运行docker exec -it <名称或ID> bash。部分容器可能使用sh而非bash。要在运行的WordPress实例上打开shell,运行docker-compose exec wordpress bash。

其他composer命令

Composer镜像也可通过docker-compose直接运行其他特定命令:

sh
docker-compose run --rm  composer update
docker-compose run --rm  composer require monolog/monolog

# 在composer镜像中打开shell
docker-compose run --rm  composer bash

使用备用端口

所有提供服务器的服务可通过--port=标志自定义默认端口,允许在同一台计算机上同时运行多个项目。

sh
# 站点一
npm run start --port=8080

# 站点二
npm run start --port=8081

默认端口

  • webpack devserver: 8080
  • phpMyAdmin: 8002
  • WebGrind: 9004

phpinfo()

PHP信息页面可通过localhost:8080/info.php访问。

调试与分析

要使用XDebug和https://github.com/jokkedk/webgrind分析请求,在任何请求后添加?XDEBUG_PROFILE=1。将在webpack/xdebug中创建cachegrind.out.nn文件。运行npm run webgrind将启动WebGrind服务器查看这些文件,默认地址为http://localhost:9004,可通过npm run webgrind --port=9123更改端口。

阅读调用图

每个分析运行也可视为调用图,这些图在https://github.com/jrfonseca/gprof2dot#output%E4%B8%AD%E6%9C%89%E6%96%87%E6%A1%A3%E8%AF%B4%E6%98%8E%EF%BC%9A

+------------------------------+
|        函数名称              |
| 总时间% (自身时间%)          |
|         总调用次数           |
+------------------------------+

其中:

  • 总时间%:在该函数及其所有子函数中花费的运行时间百分比;
  • 自身时间%:仅在该函数中花费的运行时间百分比;
  • 总调用次数:该函数被调用的总次数(包括递归调用)。

wp-cli

默认命令替换wp前缀,因此其他命令格式如下:

  • npm run wp-cli transient delete --all
  • npm run wp-cli user list

wp-cli命令参考

本地开发

要在本地迭代此项目,使用与Docker Hub远程相同的名称构建镜像,Docker将使用本地副本。如果使用版本,指定dev标签:

sh
docker build . --tag ideasonpurpose/wordpress:dev

Shell脚本

bin中的所有shell脚本均已通过ShellCheck检查,并使用https://github.com/mvdan/sh%E6%A0%BC%E5%BC%8F%E5%8C%96%EF%BC%8C%E5%91%BD%E4%BB%A4%EF%BC%9A%60npm run shfmt`。

Docker维护

以下是一些有用的Docker命令,虽不特定于本项目,但有助于保持Docker正常运行:

  • docker-compose down - 停止并删除容器
  • docker system prune - 清理未使用的容器和镜像
  • docker system prune -a - 清理所有内容,需重新下载资源
  • docker ps - 列出运行中的容器
  • docker exec -it <容器> bash - 在运行中的容器上打开shell

附加说明

基础WordPress docker镜像中的docker-entrypoint.sh脚本通过检查index.php和wp-includes/version.php来判断WordPress是否已安装。

 

由IOP提供

本项目由 Ideas On Purpose 积极开发并在生产环境中使用。

更多相关 Docker 镜像与资源

以下是 ideasonpurpose/wordpress 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/wordpress Docker 镜像说明(WordPress 内容管理系统,适合博客和网站建设)
  • bitnami/wordpress Docker 镜像说明(WordPress 内容管理系统,Bitnami 企业级配置)
  • amd64/drupal Docker 镜像说明(Drupal 内容管理系统,AMD64 架构版本)
  • tikiwiki/tikiwiki Docker 镜像说明(TikiWiki,Wiki 和 CMS 系统,适合知识管理和协作)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 wordpress 镜像标签

docker pull docker.xuanyuan.run/ideasonpurpose/wordpress:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull ideasonpurpose/wordpress:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ideasonpurpose/wordpress
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像

高速镜像下载 · 在线技术支持 · 99.95% SLA 保障

50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 wordpress 镜像推荐

wordpress logo

library/wordpress

Docker 官方镜像
WordPress作为全球广泛使用的开源平台,是一款功能丰富的内容管理系统,它能够通过灵活运用各类插件、实用小工具及多样化主题,帮助用户轻松构建个性化网站、高效管理图文影音等各类内容,并根据需求自定义界面风格与功能模块,满足从个人博客到企业站点的不同场景应用需求。
5.9千 次收藏10亿+ 次下载
9 天前更新
bitnamicharts/wordpress logo

bitnamicharts/wordpress

bitnamicharts
Bitnami提供的WordPress Helm Chart,用于在Kubernetes环境中简化WordPress的部署与管理。
4 次收藏100万+ 次下载
12 天前更新
elestio/wordpress logo

elestio/wordpress

elestio
Elestio验证并打包的WordPress,是用于搭建网站的内容管理系统。
7 次收藏5万+ 次下载
1 个月前更新
secoresearch/wordpress logo

secoresearch/wordpress

secoresearch
集成Apache、PHP、Varnish和WordPress的Docker镜像,用于快速部署高性能WordPress网站,Varnish提供缓存加速以提升访问速度和系统响应能力。
10万+ 次下载
10 个月前更新
shinsenter/wordpress logo

shinsenter/wordpress

shinsenter
基于PHP的Wordpress生产就绪Docker镜像,具备自动Wordpress安装功能。
6 次收藏10万+ 次下载
8 天前更新
corpusops/wordpress logo

corpusops/wordpress

corpusops
corpusops/docker-images是一个Docker镜像集合仓库,包含多种用于企业开发和部署的预配置镜像,旨在简化容器化应用的构建与运行流程。
10万+ 次下载
1 年前更新

查看更多 wordpress 相关镜像