docker安装WordPress

docker安装WordPress

非常感谢https://www.jianshu.com/p/2faca4e1f6fb博主的文章

Docker是目前服务器部署届的佼佼者,无论是部署网页,还是部署你的生信分析平台,只要你写好dockfile(一种描述部署规则的文件), 在任意的服务器上,安装好Docker,就可以构建出一个完全一样的运行环境。
我用的的是CentOS7, 版本信息如下
uname -r
3.10.0-862.el7.x86_64

然后用YUM工具进行安装,
yum update -y
yum install docker -y

由于国情,我们需要对配置一下docker的下载镜像,提高一下后续的加载速度。 使用vim编辑 /etc/docker/daemon.json, 增加如下内容。
{
“registry-mirrors”: [“https://6xacs6l2.mirror.aliyuncs.com”]
}

启动我们的docker服务
systemctl start docker.service

默认情况下,只有root用户和docker组的用户才能访问Docker引擎的Unix socket。当然直接用root权限使用docker太过危险,建议新建一个docker用户,然后加入docker用户组
groupadd docker
useradd -g docker docker

后续的操作用su docker切换到docker用户进行。
安装WordPress
首先让我们拉取WordPress的镜像
docker pull wordpress:latest

WordPress的详细使用方法见https://hub.docker.com/_/wordpress/, 运行命令是
docker run --name some-wordpress --link some-mysql:mysql -d wordpress

先做一波参数说明:

–name 容器的的名字

–link 和其他容器做连接
·-d/–detach` 后台运行

但是直接这样运行是绝对会报错的,你需要再拉取一个MySQL容器,
docker pull mysql:5.6

从MySQL镜像中运行单独的容器
docker run -d --privileged=true --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 33306:3306 mysql:5.6

再来一波参数解释:

-p: 端口映射,33306表示宿主,3306表示容器中的端口。 这里表示将宿主机的33306映射给镜像的3306.
-e: 环境变量, 环境变量和具体的Docker容器制作时设置有关,这里表示设置镜像中MySQL的root 密码时123456
-v: 指定数据卷,也就是将我们MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql

–privileged=true: CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项

用docker ps -a 查看MySQL是否正常运行,出现错误的话,需要用docker stop 容器名停止运行,然后用docker rm 容器名删除容器,之后去掉-d选项重新运行排查错误。
当我们配置好MySQL后,下一步才是运行WordPress
docker run -d --name mwp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=123456 -p 1080:80 --link myMysql:mysql wordpress

这里我们设置了两个环境变量,“WORDPRESS_DB_HOST"和"WORDPRESS_DB_PASSWORD”, 但比较重要的有下面几个

“WORDPRESS_DB_HOST”: 链接的docker的MySQL的IP地址和端口,一般设置成mysql表示用默认的设置
“WORDPRESS_DB_USER”: 以什么用户使用MySQL,默认是root
“WORDPRESS_DB_PASSWORD” 这设置MySQL的登陆用户密码,由于上一项是默认的root,所以这一项和之前的"MYSQL_ROOT_PASSWORD“要相同。
“WORDPRESS_DB_NAME”: 数据库的表名,不需要修改,用默认的”wordpress"就行

之后在浏览器上用你服务器的IP,和映射出的端口号(我的是1080),就会得到配置界面
注意:尽管将容器的80端口映射给主机的1080,不需要用到root权限,但CentOS默认的防火墙禁止了大于1000后的所有端口,所以我们要开启这个端口
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload #重载

其实最主要的命令也就几条
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装环境
yum -y install docker #安装docker
yum update #升级
systemctl start docker #启动docker
docker pull wordpress:latest #下载WordPress镜像
docker pull mysql:5.6 #下载MySQL5.6镜像
docker run -d --privileged=true --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 33306:3306 mysql:5.6 #运行mysql容器 将密码设置为123456,将本机的33306端口映射到容器的3306 端口
docker run -d --name mwp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=123456 -p 1080:80 --link myMysql:mysql wordpress #运行WordPress 容器,

链接:https://www.jianshu.com/p/2faca4e1f6fb

你可能感兴趣的:(docker)