随着容器技术的普及,越来越多的网站管理员开始使用 Docker 部署网站。对于 WordPress 用户来说,利用 Docker Compose 可以快速完成网站环境搭建,同时实现应用与数据库的隔离管理,后期迁移和维护也更加方便。
为什么选择Docker Compose部署WordPress
传统的 WordPress 部署通常需要手动安装 PHP、MySQL、Apache 或 Nginx 等组件,环境配置过程较为复杂。如果服务器迁移或者系统重装,还需要重新配置环境。
Docker Compose 可以将 WordPress、数据库以及相关服务写入一个配置文件,通过一条命令即可完成部署。容器之间相互独立,不会污染服务器环境,同时支持快速备份、迁移和升级,因此非常适合个人博客、企业网站以及测试环境使用。
部署前准备
开始之前,需要提前安装以下环境:
- Linux服务器或云服务器
- Docker
- Docker Compose
- 一个可访问的域名(可选)
- 80和443端口开放
目前主流 Linux 发行版均支持 Docker 环境,包括 Ubuntu、Debian、CentOS 和 Rocky Linux。
创建项目目录
首先创建 WordPress 项目目录:
mkdir wordpress
cd wordpress
随后创建 docker-compose.yml 文件。
编写Docker Compose配置
下面是一份较为常见的 WordPress 部署配置:
services:
db:
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password123
MYSQL_ROOT_PASSWORD: root123
volumes:
- db_data:/var/lib/mysql
wordpress:
image: wordpress:latest
restart: always
depends_on:
- db
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password123
WORDPRESS_DB_NAME: wordpress
volumes:
- wp_data:/var/www/html
volumes:
db_data:
wp_data:
该配置包含两个服务,一个是 MySQL 数据库,另一个是 WordPress 网站程序。数据目录通过 Docker Volume 持久化,即使容器删除,网站数据也不会丢失。
启动WordPress容器
执行以下命令启动服务:
docker compose up -d
系统会自动下载所需镜像,并创建对应容器。
查看运行状态:
docker compose ps
如果看到两个容器均处于运行状态,则说明部署成功。
访问网站完成安装
浏览器访问:http://服务器IP:8080,此时会进入 WordPress 安装界面,按照提示填写:
- 网站标题
- 管理员账号
- 管理员密码
- 管理员邮箱
安装完成后即可进入后台管理页面。
Docker 官方文档也采用类似方式完成 WordPress 快速部署。
数据持久化与备份
在生产环境中,数据库和网站文件必须进行持久化。
MySQL 数据保存在:db_data
WordPress 文件保存在:wp_data
备份时可以直接导出卷数据,也可以使用:
docker compose down
停止服务。
如果需要同时删除数据卷:
docker compose down -v
执行前务必确认已经完成数据备份。
配置域名和HTTPS
实际生产环境通常会搭配反向代理,例如:
- Nginx
- Nginx Proxy Manager
- Traefik
- Caddy
通过反向代理可以实现:
- 域名访问
- HTTPS证书自动申请
- 多网站管理
- 负载均衡
很多用户会将 WordPress 容器部署在反向代理之后,通过 HTTPS 提供访问服务。
常见问题
数据库连接失败通常是因为数据库用户名、密码或主机配置错误,需要确认:
- WORDPRESS_DB_HOST
- WORDPRESS_DB_USER
- WORDPRESS_DB_PASSWORD
如果插件无法安装,一般与文件权限或数据卷挂载有关。
访问端口打不开,则需要检查服务器防火墙以及云平台安全组配置。
另外,生产环境建议不要直接使用默认密码,而应设置高强度数据库密码和后台管理员密码。
总结
Docker Compose 部署 WordPress 最大的优势在于简单、可迁移和易维护。通过一个配置文件即可完成网站和数据库的统一管理,后续升级、备份以及迁移都十分方便。对于个人博客、企业官网以及测试环境来说,这种部署方式已经成为当前非常流行的方案。随着容器化技术的发展,越来越多的网站项目也开始采用 Docker 进行部署和运维。