name: wp-docker description: 基于Docker的WordPress开发环境。在设置新的WordPress站点、管理Docker容器或使用WP-CLI自动化站点部署时使用。 allowed-tools: Bash, Read, Write, Edit, Task
WordPress Docker环境技能
完整的Docker Compose设置,用于WordPress开发,包含WP-CLI自动化。
快速开始
# 导航到项目目录
cd /path/to/project
# 复制模板
cp ~/.claude/skills/wp-docker/templates/* .
# 启动环境
docker-compose up -d
# 运行设置脚本
./wp-setup.sh "http://localhost:8080" "站点名称" "admin" "密码" "admin@example.com"
Docker Compose堆栈
服务
| 服务 | 图像 | 目的 | 端口 |
|---|---|---|---|
db |
mariadb:10.11 | MySQL数据库 | 3306 (内部) |
wordpress |
wordpress:php8.3-apache | WordPress + Apache | 8080 |
wpcli |
wordpress:cli | WP-CLI命令 | - |
卷挂载
| 主机路径 | 容器路径 | 目的 |
|---|---|---|
./wp-content |
/var/www/html/wp-content |
主题,插件,上传 |
db_data |
/var/lib/mysql |
数据库持久性 |
./uploads.ini |
/usr/local/etc/php/conf.d/uploads.ini |
PHP配置 |
WP-CLI命令
站点安装
# 安装WordPress
docker-compose run --rm wpcli core install \
--url="http://localhost:8080" \
--title="站点名称" \
--admin_user="admin" \
--admin_password="密码" \
--admin_email="admin@example.com"
插件管理
# 安装并激活插件
docker-compose run --rm wpcli plugin install \
admin-site-enhancements \
branda-white-labeling \
admin-menu-editor \
yoast-seo \
litespeed-cache \
ewww-image-optimizer \
wp-mail-smtp \
instant-images \
--activate
# 列出已安装插件
docker-compose run --rm wpcli plugin list
# 更新所有插件
docker-compose run --rm wpcli plugin update --all
主题管理
# 安装并激活主题
docker-compose run --rm wpcli theme install theme-name --activate
# 列出主题
docker-compose run --rm wpcli theme list
内容创建
# 创建页面
docker-compose run --rm wpcli post create \
--post_type=page \
--post_title="关于我们" \
--post_status=publish
# 创建文章
docker-compose run --rm wpcli post create \
--post_type=post \
--post_title="Hello World" \
--post_content="欢迎访问我们的网站。" \
--post_status=publish
选项管理
# 更新站点选项
docker-compose run --rm wpcli option update blogname "站点名称"
docker-compose run --rm wpcli option update blogdescription "站点标语"
docker-compose run --rm wpcli option update permalink_structure '/%postname%/'
# 配置ASE
docker-compose run --rm wpcli option update admin_site_enhancements \
'{"change_login_url":{"enabled":true,"slug":"secure-login"}}' \
--format=json
数据库操作
# 导出数据库
docker-compose run --rm wpcli db export backup.sql
# 导入数据库
docker-compose run --rm wpcli db import backup.sql
# 搜索并替换(用于迁移)
docker-compose run --rm wpcli search-replace "old-domain.com" "new-domain.com"
环境命令
启动/停止
# 启动容器
docker-compose up -d
# 停止容器
docker-compose down
# 停止并移除卷(破坏性)
docker-compose down -v
# 查看日志
docker-compose logs -f wordpress
# 重启WordPress
docker-compose restart wordpress
健康检查
# 检查运行中的容器
docker-compose ps
# 检查WordPress版本
docker-compose run --rm wpcli core version
# 检查数据库连接
docker-compose run --rm wpcli db check
常见工作流程
新站点设置
- 将模板复制到项目目录
- 启动Docker环境
- 运行wp-setup.sh脚本
- 配置白标
- 创建初始页面
- 运行SEO设置
站点迁移
# 从源导出
docker-compose run --rm wpcli db export backup.sql
# 复制wp-content文件夹
# 导入到目的地
docker-compose run --rm wpcli db import backup.sql
# 更新URLs
docker-compose run --rm wpcli search-replace "old-url.com" "new-url.com"
# 清除缓存
docker-compose run --rm wpcli cache flush
插件审计
# 列出有更新的插件
docker-compose run --rm wpcli plugin list --update=available
# 检查安全问题
docker-compose run --rm wpcli plugin verify-checksums --all
故障排除
容器无法启动
# 查看日志
docker-compose logs db
docker-compose logs wordpress
# 重建容器
docker-compose up -d --build
数据库连接失败
# 等待数据库准备就绪
docker-compose exec db mysqladmin ping -h localhost -u root -p
# 检查环境变量
docker-compose config
权限问题
# 修复wp-content权限
docker-compose exec wordpress chown -R www-data:www-data /var/www/html/wp-content
WP-CLI无法工作
# 以shell访问运行
docker-compose run --rm --entrypoint /bin/sh wpcli
# 检查WordPress安装
docker-compose run --rm wpcli core is-installed
PHP配置
uploads.ini
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M
相关技能
- white-label: 配置ASE + Branda进行管理员品牌化
- wordpress-admin: REST API和内容管理
- wp-performance: LiteSpeed Cache和优化
- seo-optimizer: Yoast SEO配置
模板位置
所有模板都在:~/.claude/skills/wp-docker/templates/
docker-compose.yml- 完整堆栈配置wp-setup.sh- 自动化站点设置脚本uploads.ini- PHP配置.env.example- 环境变量模板