1、下载php-apache镜像

web服务器中执行以下操作:

docker pull php:7.2-apache

下载完成使用docker images 命令查看一下在的镜像

docker安装WordPress-web mysql分布式安装

2、创建生成mysql、httpd-php容器的脚本
web中:

vim docker_web.sh
#!/bin/bash
docker run --name httpd-php -p 80:80 \ -v /data/docker/httpd/conf:/etc/apache2/sites-enabled \ -v /data/docker/www:/var/www/html \ -v /data/docker/httpd/logs:/var/log/apache2 \ -d php:7.2-apache

mysql中:

vim docker_mysql.sh
#!/bin/bash
docker run --name mysql -p 3306:3306 \ -v /data/docker/mysql/data:/var/lib/mysql \ -v /data/docker/mysql/conf:/etc/mysql/conf.d \ -v /data/docker/mysql/logs:/logs \
-e MYSQL_ROOT_PASSWORD=test123456 \ #设置mysql的root密码
-d mysql:latest --character-set-server=utf8 #使用utf8编码

###注意脚本里有注释可能会报错 docker: invalid reference format###
3、启动mysql、httpd-php容器
web中:

sh docker_web.sh

docker安装WordPress-web mysql分布式安装
mysql中:
sh docker_mysql.sh
docker安装WordPress-web mysql分布式安装
4、测试web服务器
在命令行输入

echo "" > /data/docker/www/index.php

打开浏览器访问web服务器的ip地址
docker安装WordPress-web mysql分布式安装_第1张图片
5、修改mysql的密码加密方式
修改mysql的密码加密方式为mysql_native_password
vim /data/docker/mysql/conf/docker_mysql.cnf

[mysqld] default-authentication-plugin=mysql_native_password
如果不修改加密方式的话,低版本的mysql客户端登陆时会报错
6、数据库操作

登陆mysql容器,创建、配置wordpress数据库

docker exec -it mysql /bin/bash mysql -uroot -ptest123456

mysql> create database wordpress;
mysql> create user wps@localhost identified by '123456';
mysql> grant all privileges on wordpress. to wps@localhost;
mysql> create user [email protected] identified by '123456';
mysql> grant all privileges on wordpress.
to [email protected];
mysql> alter user [email protected] identified with mysql_native_password by '123456';
mysql> create user [email protected] identified by '123456';
mysql> grant all privileges on wordpress.* to [email protected];
mysql> alter user [email protected] identified with mysql_native_password
by '123456';
mysql> exit

7、连接测试
在web1和web2中:
PHP5.0开始就不推荐使用mysql_connect()函数了,而到了php7.0则直接废弃了该函数,替代的函数是mysqli_connect()
进入到mysql容器里安装mysqli扩展

docker exec -it httpd-php /bin/bash
apt-get update
apt-get install libpng-dev
cd /usr/local/bin/
./docker-php-ext-install gd mysqli
./docker-php-ext-enable gd mysqli
exit
docker restart httpd-php

编写一个测试连接mysql的php

vim /data/docker/www/con.php
$conn=mysqli_connect("192.168.8.130","wps","123456");
if($conn){
echo"恭喜连接成功!";
}else{
echo"error";
}
?>

打开浏览器输入192.168.8.126/con.php
docker安装WordPress-web mysql分布式安装_第2张图片
8、下载wordpress博客系统并配置

wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
tar -zxvf wordpress-4.9.4-zh_CN.tar.gz -C /data/docker/www/

浏览器访问http://192.168.8.126/wordpress
docker安装WordPress-web mysql分布式安装_第3张图片

如图填写,注意主机写安装了mysql服务的虚拟机ip
docker安装WordPress-web mysql分布式安装_第4张图片

点击完提交会弹出如下页面,按照自己的想法填写即可。

docker安装WordPress-web mysql分布式安装_第5张图片

点击完安装WordPress后会弹出安装成功的页面
docker安装WordPress-web mysql分布式安装_第6张图片
登陆
docker安装WordPress-web mysql分布式安装_第7张图片
到这里就可以设置自己的博客了!
docker安装WordPress-web mysql分布式安装_第8张图片
9、验证wordpress数据库
mysql主机的容器里连接数据库:

mysql -u root -ptest123456

docker安装WordPress-web mysql分布式安装

显示数据库
docker安装WordPress-web mysql分布式安装_第9张图片

使用wordpress数据库
docker安装WordPress-web mysql分布式安装
显示wordpress数据库里的表
docker安装WordPress-web mysql分布式安装_第10张图片
选择wp_users表里的所有内容
docker安装WordPress-web mysql分布式安装_第11张图片
可以看到已经有了lxc这个账户。
10、查看博客
浏览器访问http://192.168.8.126/wordpress
docker安装WordPress-web mysql分布式安装_第12张图片