使用Docker搭建一个WordPress博客

前言:

使用docker搭建一个自己的博客,考虑使用wordPress。由于目前手里没有云主机,也没有实体机,所以选用虚拟机进行搭建。

搭建环境:

从已经有的虚拟机中克隆一个虚拟机,CentOS 7。

克隆到虚机后要做的几件事情:

  1.首先要做的事情是修改主机名:

vim /etc/sysconfig/network

将里面的HOSTNAME修改为新的主机名

  2. 其次修改ip地址:

vi /etc/sysconfig/network-scripts/ifcfg-ens    //ifcfg-ens 每台机器的这个文件名可能不同

 

修改IPADDR为新的ip地址

service network restart 生效

Docker的安装:

  1.检查Linux内核版本

因为Docker要求CentOS的内核版本高于3.10 首先验证CentOS内核的版本

uname -r
3.10.0-1127.el7.x86_64

  2.对yum进行更新

yum update -y

  3.安装Docker

yum install docker -y
--安装完成后进行查看
yum list | grep docker
--验证安装(查看版本号)
docker -v

  4.配置Docker国内镜像,提高下载速度

vi /etc/docker/daemon.json

在这个json文件中加入:
{
  "registry-mirrors": ["https://6xacs6l2.mirror.aliyuncs.com"]
}

  5.启动docker服务

systemctl start docker.service

  6.为Docker创建用户,避免使用root进行操作

groupadd docker
useradd -g docker docker

 

WordPress安装:

  1.Docker拉取WordPress的镜像

docker pull wordpress:latest

  2.Docker拉取MySQL镜像:

docker pull mysql:5.6

  3.使用MySQL镜像运行容器:

docker run -d --privileged=true --name OLDMysql -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
  • --name: 容器名称
  • --privileged=true: CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项
  • -v: 指定数据卷,也就是将我们MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql

运行后使用 docker ps -a 查看运行状况,如果出现错误,使用  docker stop 容器名 停止运行,然后用 docker rm 容器名 删除容器。如图这里的容器名是 OLDMysql。

之后使用上面的命令,去掉  -d  选项重新运行排查错误。

 

  4.配置好MySQL后,运行WordPress:

docker run -d --name OLDwp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -e WORDPRESS_DB_NAME=myword -p 1080:80 --link OLDMysql:mysql wordpress

参数说明:

  • -e WORDPRESS_DB_HOST : 链接的docker的MySQL的IP地址和端口,一般设置成mysql表示用默认的设置
  • -e WORDPRESS_DB_USER : 以什么用户使用MySQL,默认是root
  • -e WORDPRESS_DB_PASSWORD : 这设置MySQL的登陆用户密码,由于上一项是默认的root,所以这一项和之前的"MYSQL_ROOT_PASSWORD“要相同。
  • -e WORDPRESS_DB_NAME: 数据库的表名,如果不写这一个配置,默认为”wordpress"
  • 注意  --link  链接到MySQL容器的名称

运行成功如下:

 

刚才-e WORDPRESS_DB_NAME 建的数据库名 myword 也可以在数据库找到:

 

如果重启VM,如果容器没有启动,重启容器  docker restart  容器id 

 

docker restart 60371f5c02d1
docker restart 74b8ea9df4c0

如果重启容器仍然不能访问,需要做以下配置:

vi /etc/sysctl.conf
或者
vi /usr/lib/sysctl.d/00-system.conf

添加如下代码:
net.ipv4.ip_forward=1

重启network服务
systemctl restart network

查看是否修改成功
sysctl net.ipv4.ip_forward
如果返回为“net.ipv4.ip_forward = 1”则表示成功了

 

备注:容器的80端口映射给主机的1080,不需要用到root权限,但CentOS默认的防火墙禁止了大于1000后的所有端口,所以要开启这个端口

firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload

  5.访问WordPress

打开链接  http://your_ip:1080  刚才设置的1080端口,成功了。

下一步进行WordPress设置:

 

 配置成功:

 

 

 此时去看Mysql数据库,已经有表了:

 

结束:

使用Docker搭建WordPress就完成了。

 
posted @ 2020-05-21 21:39  OldCha  阅读(19157)  评论(1编辑  收藏  举报