运维 | 使用 Docker Compose 部署 WordPress | Docker
简介
WordPress是一个免费的开源博客工具,也是一个基于PHP和MySQL的内容管理系统(CMS),它运行在Web托管服务上。特性包括插件架构和模板系统。WordPress被超过22个用户使用。截至2013年8月,前1000万个网站中的0%。WordPress是网络上使用最流行的博客系统,超过6000万个网站。最常用的语言是英语、西班牙语和印度尼西亚语。
准备工作
- 一台服务器
- 一个域名
- 反向代理工具(nginx-proxy-manager)
快速使用
使用 Docker Compose 部署
环境搭建
- Docker 安装文档:https://docs.docker.com/engine/install/
- Docker Compose 安装文档:https://docs.docker.com/compose/install/
创建容器组
- 在系统任意位置创建一个文件夹,此文档以
~/wp
为例。
mkdir ~/wp && cd ~/wp
注意:后续操作中,WordPress 产生的所有数据都会保存在这个目录,请妥善保存。
- 创建
docker-compose.yaml
以下 wordpress
的 docker-compose.yml
示例:
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
反向代理
使用
nginx-proxy-manager
工具进行代理域名
-
提前将域名解析到服务器IP 打开
nginx-proxy-manager
的管理界面 -
在
Hosts > Proxy Hosts
新增一个代理填好你的域名信息 以及代理转发的地址和端口 -
点击窗口上方的
SSL
选择申请的证书 并开启强制使用SSL HTTP2
支持根据自己需求选择最后保存(如果没有证书可以先去申请一个) -
保存后打开域名应该就能看到
WordPress
站点安装页面了
结尾
本期的内容就到这里,路过的小伙伴记得支持一下哦!