使用Docker-Compose快速部署WordPress的完整指南

来自:素雅营销研究院

头像 方知笔记
2025年08月25日 23:42

一、Docker-Compose部署WordPress的优势

在当今云原生时代,使用Docker-Compose部署WordPress已成为开发者和运维人员的首选方案。相比传统部署方式,这种方法具有以下显著优势:

  1. 环境一致性:通过容器化技术确保开发、测试和生产环境完全一致
  2. 快速部署:几分钟内即可完成整个WordPress环境的搭建
  3. 资源隔离:MySQL数据库和WordPress应用相互隔离,提高安全性
  4. 易于维护:一键启动/停止整个服务栈,简化运维工作
  5. 可移植性:配置文件可轻松迁移到任何支持Docker的平台

二、准备工作

在开始部署前,请确保您的系统满足以下要求:

  • 已安装Docker引擎(版本18.06.0+)
  • 已安装Docker-Compose(版本1.25.0+)
  • 至少2GB可用内存
  • 10GB可用磁盘空间

三、编写docker-compose.yml文件

创建项目目录并编写docker-compose.yml配置文件:

version: '3.8'

services:
db:
image: mysql:8.0
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wordpress_network

wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wp_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
networks:
- wordpress_network

volumes:
db_data:
wp_data:

networks:
wordpress_network:
driver: bridge

四、启动WordPress服务

在包含docker-compose.yml文件的目录中执行以下命令:

docker-compose up -d

此命令将执行以下操作:

  1. 拉取MySQL和WordPress官方镜像
  2. 创建专用网络和持久化卷
  3. 启动数据库和WordPress容器

五、访问和配置WordPress

服务启动后(约1-2分钟),您可以通过以下方式访问WordPress:

  1. 打开浏览器访问:http://localhost:8000
  2. 按照WordPress安装向导完成初始设置
  3. 选择语言、设置管理员账户信息
  4. 完成安装后即可登录后台开始使用

六、常用管理命令

  • 查看服务状态docker-compose ps
  • 停止服务docker-compose down(保留数据卷)
  • 完全删除docker-compose down --volumes(删除所有数据)
  • 查看日志docker-compose logs -f
  • 更新服务docker-compose pull && docker-compose up -d

七、高级配置选项

1. 自定义WordPress配置

在wordpress服务中添加环境变量:

environment:
WORDPRESS_CONFIG_EXTRA: |
define('WP_MEMORY_LIMIT', '256M');
define('WP_DEBUG', true);

2. 添加phpMyAdmin

在docker-compose.yml中添加:

phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
ports:
- "8080:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: your_root_password
networks:
- wordpress_network

3. 配置HTTPS

使用反向代理(如Nginx)或修改wordpress服务配置:

ports:
- "443:443"
environment:
WORDPRESS_HTTPS: "on"

八、备份与恢复

1. 备份数据库

docker-compose exec db sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > backup.sql

2. 备份WordPress文件

docker-compose run --rm wordpress tar czvf /backup/wp-content.tar.gz -C /var/www/html wp-content
docker cp $(docker-compose ps -q wordpress):/backup/wp-content.tar.gz .

3. 恢复数据

将备份文件复制回相应卷挂载点或通过docker命令导入。

九、常见问题解决

  1. 端口冲突:修改docker-compose.yml中的端口映射(如将8000改为其他端口)
  2. 启动失败:检查日志docker-compose logs,常见原因是数据库密码不匹配
  3. 性能优化:可添加Redis缓存容器或调整PHP配置
  4. 内存不足:增加Docker资源分配或优化MySQL配置

十、总结

通过Docker-Compose部署WordPress不仅简化了安装过程,还提供了生产级的环境配置。这种部署方式特别适合:

  • 开发人员快速搭建测试环境
  • 小型企业部署官方网站
  • 教育演示和学习Docker技术
  • 需要频繁重建环境的场景

随着对Docker技术的深入掌握,您可以进一步定制和扩展此配置,满足更复杂的业务需求。