一.环境准备

操作系统CENTOS7.4     

docker v20.10.24   

wordpress-6.5.5 

二.部署安装过程

0.创建自定义网络类型和存储逻辑卷

#创建网络类型lnmp,不创建后面操作会报错docker: Error response from daemon: network lnmp not found.
#在同一lnmp网络内,可以使用name通信,如可以使用lnmp_mysql
docker network create lnmp
#自定义应用程序数据宿主机存储目录
mkdir -p /app/wwwroot

1.自定义创建mysql数据库容器

#自定义创建数据库容器
docker run -itd \
--name lnmp_mysql \
--net lnmp \
-p 3306:3306 \
--mount src=mysql-vol,dst=/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \ 
mysql:latest \
--character-set-server=utf8 \
--collation-server=utf8_general_ci

参数说明:

--mount src=mysql-vol,dst=/var/lib/mysql  #volume方式,数据存储宿主机本地/var/lib/docker/volumes/mysql-vol

-e MYSQL_ROOT_PASSWORD=123456  #设置root用户密码

--character-set-server=utf8  #设置字符集为utf8

--collation-server=utf8_general_cli  #设置字符比较规则为utf8_general_cli

注意:

新安装的 MySQL 8.0,记得 MySQL 默认使用 'caching_sha2_password' 认证插件,可能与一些客户端工具不兼容。可以修改用户认证插件为 'mysql_native_password':

alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;

2.自定义创建wordpress数据库wp

docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database wp"'

3.自定义创建nginx-php-fpm环境容器

#自定义应用程序数据宿主机存储目录
mkdir -p /app/wwwroot
#自定义创建php环境容器
docker run -itd 
--name lnmp_web \
--net lnmp \
-p 8088:80 \
--mount type=bind,src=/app/wwwroot,dst=/var/www/html \
richarvey/nginx-php-fpm

注意:

此步骤创建nginx-php-fpm完成后,web若无法访问,可查看日志排查,docker logs -f --tail 100  容器ID

nginx: [alert] failed to load the 'resty.core' module (https://github.com/openresty/lua-resty-core); ensure you are using an OpenResty release from https://openresty.org/en/download.html (reason: module 'resty.core' not found:

因richarvey/nginx-php-fpm镜像拉取有问题,使用阿里云私有镜像拉取海外镜像,然后docker pull 到宿主机上,重新创建。

删除问题镜像和容器
docker rm -f  ID 容器ID
docker image rm -f  容器ID
#拉取海外获取的镜像
docker pull registry.cn-hangzhou.aliyuncs.com/alibaby-docker/nginx-php-fpm:latest
#重新创建
docker run -itd --name lnmp_web --net lnmp -p 88:80 --mount type=bind,src=/app/wwwroot,dst=/var/www/html registry.cn-hangzhou.aliyuncs.com/alibaby-docker/nginx-php-fpm:latest

4.下载wordpress6.5.5

#下载
wget -P /root https://wordpress.org/wordpress-6.5.5.tar.gz
#解压到/app/wwwroot目录
tar xf /root/wordpress-6.5.5.tar.gz  -C /app/wwwroot

5.安装wordpress http://ip:8088/wordpress

docker部署LNMP搭建wordpress_lnmp

docker部署LNMP搭建wordpress_docker_02