基于Docker快速搭建WordPress站点的实战方案
高效部署:十分钟内完成个人博客环境搭建
传统方式部署WordPress需手动配置Web服务器、PHP运行环境及数据库,过程复杂且易出错。借助Docker技术,可实现服务的容器化封装,显著提升部署效率与环境一致性。
采用Docker的优势
- 环境隔离:应用及其依赖项独立运行于容器中,避免系统污染
- 跨环境一致:开发、测试与生产环境行为统一,减少"本地能跑,线上报错"问题
- 快速启动:通过声明式配置文件即可自动拉取镜像并启动多服务
- 便捷维护:支持一键更新、回滚和迁移,管理成本大幅降低
推荐方案:使用docker-compose.yaml编排服务
该方法适合初学者,通过单一配置文件定义完整应用栈。
1. 环境准备
确认已安装Docker和Docker Compose:
docker --version
docker-compose --version
2. 创建项目目录与配置文件
新建项目文件夹并创建配置文件:
mkdir blog-env && cd blog-env
vim docker-compose.yml
将以下内容写入文件:
version: '3.8'
services:
database:
image: mysql:5.7
volumes:
- db_storage:/var/lib/mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: secure_root_pass
MYSQL_DATABASE: site_db
MYSQL_USER: app_user
MYSQL_PASSWORD: strong_app_pass
webapp:
depends_on:
- database
image: wordpress:latest
volumes:
- wp_content:/var/www/html
ports:
- "8080:80"
restart: unless-stopped
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: app_user
WORDPRESS_DB_PASSWORD: strong_app_pass
WORDPRESS_DB_NAME: site_db
volumes:
db_storage:
wp_content:
注意:请替换密码字段为高强度自定义值。
3. 启动服务
在项目根目录执行:
docker-compose up -d
成功后输出类似:
[+] Running 2/2
⠿ Container blog-env-database-1 Started
⠿ Container blog-env-webapp-1 Started
4. 验证状态
docker-compose ps
查看两个容器状态均为"Up"即表示部署成功。
进阶方案:手动容器编排
适用于希望深入理解容器网络与生命周期管理的用户。
1. 拉取基础镜像
docker pull mysql:5.7
docker pull wordpress:latest
2. 创建专用网络
docker network create blog-net
3. 启动数据库容器
docker run -d \
--name blog-db \
--network blog-net \
-e MYSQL_ROOT_PASSWORD=secure_root_pass \
-e MYSQL_DATABASE=site_db \
-e MYSQL_USER=app_user \
-e MYSQL_PASSWORD=strong_app_pass \
-v db_volume:/var/lib/mysql \
--restart always \
mysql:5.7
4. 启动WordPress容器
docker run -d \
--name blog-site \
--network blog-net \
-p 8080:80 \
-e WORDPRESS_DB_HOST=blog-db:3306 \
-e WORDPRESS_DB_USER=app_user \
-e WORDPRESS_DB_PASSWORD=strong_app_pass \
-e WORDPRESS_DB_NAME=site_db \
-v wp_volume:/var/www/html \
--restart always \
wordpress:latest
初始化WordPress站点
- 访问
http://localhost:8080进入安装页面 - 选择语言后点击"继续"
- 填写站点标题、管理员账号、密码及邮箱
- 点击"安装WordPress"完成初始化
- 进入后台地址:
http://localhost:8080/wp-admin登录管理界面
常见问题排查
- 数据库连接失败:检查环境变量、网络连接与容器日志
docker logs blog-db
8080:80 改为 8090:80docker volume ls
常用运维命令
Docker Compose操作
docker-compose stop # 停止服务
docker-compose down # 停止并移除容器(保留卷)
docker-compose down -v # 停止并移除容器及数据卷
docker-compose logs # 查看日志
docker-compose restart # 重启服务
独立容器管理
docker ps # 查看运行中的容器
docker stop blog-db blog-site
docker start blog-db blog-site
docker rm blog-db blog-site
总结
通过Docker实现WordPress部署,不仅极大简化了流程,更提升了系统的可移植性与稳定性。无论是使用docker-compose一键部署,还是手动控制容器,均能在短时间内构建出完整可用的博客平台。
后续可自由添加主题、插件,构建个性化内容生态。建议公网发布前启用HTTPS加密,并定期更新核心与插件以保障安全。