WordPress

45

使用 Docker Compose 部署 WordPress

简介

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。截至2018年4月,排名前1000万的网站中超过30.6%使用WordPress。WordPress是最受欢迎的网站内容管理系统。全球有大约43%的网站都是使用WordPress架设网站的。

快速使用

创建容器

  1. 在系统任意位置创建一个文件夹,此文档以 ~/wp 为例。

mkdir ~/wp && cd ~/wp

注意:后续操作中,产生的所有数据都会保存在这个目录,请妥善保存。

  1. 创建 docker-compose.yaml

version: '3.8'
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html
  db:
    image: mysql:9.0.0
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql
volumes:
  wordpress:
  db:

MySQL 可以用 Mariadb 替代,web 服务器也可以用 apache、caddy 等替代
docker-compose.yaml

  1. 启动服务

docker compose up -d

实时查看日志:

docker compose logs -f
  1. 用浏览器访问即可

尝试访问 http://localhost:porthttp://host-ip:port 是否能够正常访问

如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip:端口号 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。

更新容器

  1. 停止运行中的容器组

cd ~/wp && docker compose down
  1. 备份数据(重要)

cp -r ~/wp ~/wp.archive

需要注意的是,wp.archive 文件名不一定要根据此文档命名,这里仅仅是个示例

  1. 更新服务

  • 修改 docker-compose.yaml 中配置的镜像版本

  • 拉取镜像

docker compose pull
  • 重新启动服务

docker compose up -d