Docker搭建WordPress教学,快速部署个人博客

来自:素雅营销研究院

头像 方知笔记
2025年05月06日 17:11

前言

在当今互联网时代,拥有一个个人博客或网站已成为许多人的需求。WordPress作为全球最流行的内容管理系统(CMS),因其易用性和丰富的插件生态而广受欢迎。而Docker作为轻量级的容器化技术,能够帮助我们快速部署和管理应用。本教程将详细介绍如何使用Docker搭建WordPress网站,让您轻松拥有自己的博客平台。

准备工作

在开始之前,请确保您的系统已安装以下软件:

  1. Docker(最新稳定版)
  2. Docker Compose(通常随Docker一起安装)
  3. 基本的Linux命令行知识

您可以通过运行以下命令检查是否已安装:

docker --version
docker-compose --version

第一步:创建项目目录

我们需要为WordPress项目创建一个专用目录:

mkdir wordpress-docker && cd wordpress-docker

第二步:编写docker-compose.yml文件

Docker Compose允许我们通过一个YAML文件定义和运行多容器应用。在项目目录中创建docker-compose.yml文件:

version: '3.8'

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

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

volumes:
db_data:

参数说明:

  • db服务使用MySQL 5.7镜像作为数据库
  • wordpress服务使用最新版WordPress镜像
  • 端口映射8000:80表示将主机的8000端口映射到容器的80端口
  • 环境变量配置了数据库连接信息
  • volumes用于数据持久化

第三步:启动WordPress容器

运行以下命令启动服务:

docker-compose up -d

-d参数表示在后台运行。首次运行会下载所需的镜像,可能需要一些时间。

第四步:访问WordPress安装界面

在浏览器中访问:

http://localhost:8000

您将看到WordPress的安装界面。按照提示完成安装:

  1. 选择语言
  2. 输入站点信息(标题、用户名、密码等)
  3. 点击”安装WordPress”

第五步:管理WordPress容器

常用管理命令:

  • 查看运行中的容器:
docker-compose ps
  • 停止服务:
docker-compose down
  • 重启服务:
docker-compose restart
  • 查看日志:
docker-compose logs -f

进阶配置

1. 使用自定义域名

编辑docker-compose.yml文件,在wordpress服务下添加:

environment:
- VIRTUAL_HOST=yourdomain.com
- LETSENCRYPT_HOST=yourdomain.com
- LETSENCRYPT_EMAIL=your@email.com

2. 配置HTTPS

建议使用Nginx反向代理和Let’s Encrypt证书。可以添加一个Nginx服务:

proxy:
image: nginx:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./certs:/etc/nginx/certs

3. 备份与恢复

备份数据库:

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

恢复数据库:

cat backup.sql | docker-compose exec -T db sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"'

常见问题解决

  1. 端口冲突:如果8000端口已被占用,修改docker-compose.yml中的端口映射。

  2. 权限问题:确保wp-content目录有正确的写入权限:

chown -R www-data:www-data wp-content
  1. 数据库连接失败:检查环境变量是否正确,确保数据库服务已启动。

  2. 更新WordPress:只需重新拉取镜像并重启服务:

docker-compose pull wordpress
docker-compose up -d

结语

通过本教程,您已经学会了使用Docker快速搭建WordPress网站的方法。Docker容器化的优势在于环境隔离、易于迁移和版本控制。您可以根据需要扩展此配置,添加更多服务如phpMyAdmin、Redis缓存等。

祝您博客之旅愉快!如有任何问题,欢迎在评论区留言讨论。