通过docker搭建一个自己的wordpress博客

准备docker环境

首先需要准备docker环境,如果需要进一步了解docker的安装以及常用命令,可以查看另一篇博客http://blog.codereader.cn/?p=17

这边我简单安装一下docker(基于centos7)

# 安装docker
curl -sSL https://get.daocloud.io/docker | sh
# 启动docker
systemctl start docker
# 查看docker状态
systemctl status docker

# 查看docker版本
docker version

Client: Docker Engine - Community
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:33:55 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:32:17 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

显示如上图所示,则说明你的docker环境已经被成功运行起来了

因为dokcer的镜像源默认是在国外,为了后续安装速度,这边需要切换到国内的镜像源,这边我选择的是阿里云的镜像源

# 通过daemon.json指定docker的镜像源
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],
}
EOF
# 如果是已经安装过docker环境,并且创建过daemon.json文件,则这里推荐编辑,避免覆盖掉原来的配置

安装mysql

wordpress的数据库使用的是mysql,所以我们这边还要安装mysql环境,这边也是使用docker安装一个mysql5.7

# 拉取mysql镜像,这里我使用的是mysql的5.7.33的版本
docker pull mysql:5.7.33
# 为了保证mysql数据的持久化,所以这边需要创建个目录来存放mysql的数据,路径可自行选择
mkdir /home/mysql/data
# 启动mysql
docker run -d --name mysql5.7 \
 -p 3306:3306  \
 -e MYSQL_ROOT_PASSWORD=qwer123456# \
 -v /home/mysql/data:/var/lib/mysql \
 --restart=always \
 mysql:5.7.33

上面的启动命令的介绍

-d 后台运行

--name mysql5.7 命名这个容器为mysql5.7

-p 3306:3306 把容器的3306端口映射到宿主机上的3306端口上

-e MYSQL_ROOT_PASSWORD=qwer123456# 设置mysql的root密码为qwer123456#

-v /home/mysql/data:/var/lib/mysql 把宿主机的/home/mysql/data挂载到容器里的/var/lib/mysql目录,这个目录存放的是mysql的数据库

--restart=always 防止机器重启,自动启动mysql

至此我们的mysql已经成功启动了

创建完mysql之后,需要给后续wordpress创建对应的用户,进行以下操作

# 进入到mysql容器中
docker exec -it mysql5.7 /bin/bash
# 登录到mysql中
mysql -uroot -pqwer123456#
# 创建一个mysql用户
create user 'wordpress'@'%' identified by 'qwer123456#';
# 给用户授权,这里我是赋予了所有权限给wordpress用户
grant all privileges on *.*  to 'wordpress'@'%'  with grant option;
# 刷新权限
flush privileges;
# 创建数据库
create database wordpress;
# 退出mysql控制台
quit;
# 退出容器
exit

这个时候mysql的wordpress已经创建完了,您可通过mysql连接工具测试是否能够连接

安装wordpress

前期的准备工作已经完成,现在可以进入我们的正题

# 拉取wordpress镜像
docker pull wordpress
# 创建wordpress的目录
mkdir /home/wordpress/html
# 启动wordpress容器
docker run --name wordpress -d \
 -p 80:80 \
 -e WORDPRESS_DB_HOST=172.18.0.2 \
 -e WORDPRESS_DB_USER=root \
 -e WORDPRESS_DB_PASSWORD=qwer123456#  \
 -e WORDPRESS_DB_NAME=wordpress \
 -v /home/wordpress/html:/var/www/html  \
 --restart=always  wordpress

启动命令介绍

--name wordpress 命名当前容器为wordpress

-d 后台运行

-p 80:80 将容器的80端口映射到宿主机的80端口上,wordpress默认对外暴露的端口是80,如果您不想让wordpress占用您的80端口,可将前一个80改成您希望的任意一个端口,例如-p 8090:80

-e WORDPRESS_DB_HOST=172.18.0.2 设置wordpress使用的数据库地址为172.18.0.2,这个地址为刚才创建的mysql地址,如果需要获取mysql的ip地址,可通过dokcer inspect mysql5.7 里找到Networks,找到对应的IPAddress即为对应的mysql对应的ip地址

-e WORDPRESS_DB_USER=root 设置数据库用户名为root,您也自行进入到mysql容器中创建自己的用户名

-e WORDPRESS_DB_PASSWORD=qwer123456# 设置数据库密码为qwer123456#

-e WORDPRESS_DB_NAME=wordpress 设置数据库名为wordpress

-v /home/wordpress/html:/var/www/html 将当前宿主机的/home/wordpress/html挂载到容器的/var/www/html下,此目录为wordpress的文件目录

--restart=always 重启策略

 

这个时候您的wordpress容器已经启动成功了,可以通过ip直接访问到对应的wordpress容器中了

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值