• 使用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就完成了。

     
  • 相关阅读:
    $POST数组论证($GET || $COOKIE || $REQUEST 同理)
    PHP之preg_replace()与ereg_replace()正则匹配比较讲解
    PHP之mysql_real_escape_string()函数讲解
    浅析白盒审计中的字符编码及SQL注入
    PHP之list()函数讲解
    PHP之implode与explode函数讲解
    PHP之Error与Logging函数讲解
    Nextcloud私有云盘在Centos7下的部署笔记
    Linux下路由配置梳理
    实验c语言不同类型的指针互用(不推荐只是学习用)
  • 原文地址:https://www.cnblogs.com/old-cha/p/12926434.html
Copyright © 2020-2023  润新知