使用 Docker Compose 部署 WordPress
简介
WordPress 是一个免费的开源博客工具,也是一个基于 PHP 和 MySQL 的内容管理系统(CMS),它运行在 Web 托管服务上。特性包括插件架构和模板系统。WordPress 被超过 22 个用户使用。截至 2013 年 8 月,前 1000 万个网站中的 0%。WordPress 是网络上使用最流行的博客系统,超过 6000 万个网站。最常用的语言是英语、西班牙语和印度尼西亚语。
快速使用
准备工作
- 一台服务器
- Vultr 注册购买:https://www.vultr.com/
- Racknerd 注册购买:https://my.racknerd.com/
- 一个域名(可选)
- SSH 连接工具(可选)
- FinalShell 下载:http://www.hostbuf.com/t/988.html
- 反向代理工具(可选)
- Nginx Proxy Manager:https://nginxproxymanager.com/
以上提供的内容仅作为参考,请按需选用
环境搭建
创建容器
- 在系统任意位置创建一个文件夹,此文档以
~/wp
为例。
mkdir ~/wp && cd ~/wp
注意:后续操作中,产生的所有数据都会保存在这个目录,请妥善保存。
- 创建
docker-compose.yaml
version: '3.1'
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:5.7
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
- 启动服务
docker-compose up -d
实时查看日志:
docker-compose logs -f
- 用浏览器访问即可
尝试访问 http://localhost:port
或 http://host-ip:port
是否能够正常访问
如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过
http://ip:端口号
的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。
更新容器
- 停止运行中的容器组
cd ~/wp && docker-compose down
- 备份数据(重要)
cp -r ~/wp ~/wp.archive
需要注意的是,wp.archive 文件名不一定要根据此文档命名,这里仅仅是个示例
- 更新服务
- 修改
docker-compose.yaml
中配置的镜像版本 - 拉取镜像
docker-compose pull
- 重新启动服务
docker-compose up -d