|

Docker Compose部署WordPress网站教程:从零搭建个人博客完整指南

随着容器技术的普及,越来越多的网站管理员开始使用 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 进行部署和运维。

评论