一.环境准备
操作系统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