12、利用docker快速搭建Wordpress网站
一、准备工作
结构图:
用户访问页面,Nginx将请求进行转发,如果请求的是php页面,则通过FastCGI转发给后端php进行处理;如果非php页面,则直接返回静态页面。
关键点:
- mysql、php-fpm、nginx处于一个网络中
- mysql、php-fpm端口不需要暴露
- nginx对php请求转发给FastCGI
1、自定义网络
docker network create lnmp
二、创建容器
1、创建Mysql容器
docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8
- 容器名称:lnmp_mysql
- 容器网络:lnmp
- 数据卷:mysql-vol
- 设置数据库密码和创建数据
2、创建php容器
docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot custom_php:v1
- 容器名称:lnmp_php
- 容器网络:lnmp
- 数据卷:wwwroot
3、创建nginx容器
docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot custom_nginx:v1
- 容器名称:lnmp_nginx
- 容器网络:lnmp
- 容器端口:80
- 数据卷:wwwroot
- 配置文件:bind方式,因为配置文件可能会有变更,保证每次容器可以获取最新的配置文件。
4、下载应用
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
下载应用放到/var/lib/docker/volumes/wwwroot/_data
三、访问测试
1、访问wordpress
2、设置数据库连接
3、完成数据设置
4、填写网站信息
5、访问应用
一切都是预期的结果!