WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站,今天尝试在Linux上使用Docker来安装WordPress。

本着“容器只干一件事情”的原则,本文会将出现两个容器,一个Wordpress的网站程序的容器,另一个则是MySQL的数据库容器,从中将看到两个容器是如何协同工作的。

使用docker的好处就是尽量减少了环境部署,可靠性强,容易维护,我使用docker搭建wordpress的主要目标有下面几个

首先我重新生成数据库容器可以保证数据库数据不丢失,重新生成wordpress容器保证wordpress网站数据不丢失,尽量让两个容器处于无状态运行中,所有数据保存在docker宿主机,方便备份和恢复

1 安装部署docker

​CentOS7 Docker 安装​

​CentOS 7部署Docker​

2 安装WordPress

有了Docker,安装WordPress就很简单了,直接一条命令搞定。

--拉取镜像,默认最新

[root@wugenqiang ~]# docker pull wordpress

Centos7中用Docker搭建WordPress博客_数据库

3 安装MySQL

WordPress需要使用MySQL数据库,这里也有两种方式,第一种是安装docker宿主机MySQL,第二种就是在Docker中安装MySQL镜像。如果要在Docker中安装MySQL也非常简单,同样一条命令搞定。

[root@wugenqiang ~]# docker pull mysql:5.6

使用稳定版mysql即可,不需要最新

4 启动MySQL

[root@wugenqiang ~]# docker run -d --name wordpress-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6

备注: 

- docker run :启动容器 

- -d:后台运行容器 

- –name wordpress-mysql:指定容器的名字,本文设置为wordpress-mysql 

- -e MYSQL_ROOT_PASSWORD=123456:指定容器的环境参数,此处初始化MySQL的root密码 

- -p 3306:3306:端口映射,这里将容器内的3306端口映射到docker宿主机的3306端口 

- mysql:镜像的名字,首先从docker宿主机本地加载,其次从dockerHub上加载

-tag:版本号

查看MySQL日志: 

docker logs wordpress-mysql

5 启动WordPress容器

安装好数据库之后,就可以启动WordPress了,启动时连接数据库

[root@wugenqiang ~]# docker run -d --name wordpress-wordpress --link wordpress-mysql:mysql -p 80:80 wordpress

​备注: 
- docker run :启动容器 
- -d:后台运行容器 
- –name ​
​wordpress-wordpress​​:指定容器的名字,本文设置为​​wordpress-wordpress​​ 
- –link ​
​wordpress​​-mysql:mysql:容器关联,现在启动的容器内部可以通过mysql来访问​​wordpress​​-mysql数据库的功能 
- -p 80:80:端口映射,这里将容器内的80端口映射到​
​docker宿主机​​的80端口 
- wordpress:镜像的名字,首先从​
​docker宿主机​​本地加载,其次从dockerHub上加载​

如果使用外部的MySQL数据库,则输入下面的命令。

docker run --name wordpress-wordpress -e WORDPRESS_DB_HOST=47.102.42.155:3306 \
-e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress

WORDPRESS_DB_HOST参数是MySQL的数据库端口号,WORDPRESS_DB_USER是要数据库用户名,WORDPRESS_DB_PASSWORD是数据库密码。这里的WORDPRESS_DB_HOST参数不能填写localhost,因为这样会重定向到WordPress镜像内部的localhost,而这个镜像中实际上没有安装MySQL。所以这里需要填写本机IP地址,才能正确访问到Docker外部的宿主机的数据库。

6 查看启动情况

Centos7中用Docker搭建WordPress博客_数据库_02

7 打开WordPress配置

docker宿主机浏览器访问​​127.0.0.1​​​或者​​47.102.42.155,外网使用47.102.42.155登录​

Centos7中用Docker搭建WordPress博客_mysql_03

然后根据实际需要执行操作即可

Centos7中用Docker搭建WordPress博客_mysql_04

Centos7中用Docker搭建WordPress博客_mysql_05