五分钟用docker搭建WordPress个人博客【详细教程】
一、WordPress简介
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式
二、安装Docker
2.1配置docker的yum源
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.2安装指定版本,这里安装3:20.10.7-3.el7
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-3:20.10.7-3.el7.x86_64
2.3配置docke的镜像加速及修改cgroupdriver
mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://qtytpky9.mirror.aliyuncs.com"]
}
EOF
2.4启动docker
systemctl start docker && systemctl enable docker
三、下载mysql镜像及wordpress镜像
可以去官网https://registry.hub.docker.com/找出合适的mysql和wordpress版本,并下载镜像下来。
3.1 下载mysql镜像
docker pull mysql:5.7.34
3.2下载WordPress镜像
docker pull wordpress:4.6
查看下载结果
[root@wordpress ~]# docker images
四、启动mysql及wordpress
4.1启动mysql,将数据挂载在/home/data/mysqldata下,并指定为utf8mb4编码
docker run -v /home/data/mysqldata:/var/lib/mysql --name wordpress_mysql -e MYSQL_ROOT_PASSWORD=123456 -p 13306:3306 -d mysql:5.7.34 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
4.2启动WordPress,将数据挂载在/home/data/www/html下
docker run -v /home/data/www/html:/var/www/html --name wordpress --link wordpress_mysql:mysql -p 8080:80 -d wordpress:4.6
4.3 参数解释
参数解释:
-p: 端口映射,33306表示宿主,3306表示容器中的端口。 这里表示将宿主机的33306映射给镜像的3306.
-e: 环境变量, 环境变量和具体的Docker容器制作时设置有关,这里表示设置镜像中MySQL的root 密码时123456
-v: 指定数据卷,也就是将我们MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql
五、访问及初始化wordpress
5.1登录网址测试是否可以登录Wordpress,浏览器中输入http://192.168.200.12:8080/进行访问,这里你把192.168.200.12换成你自己的ip进行测试就行。
5.2初始化成功后使用刚才创建的账号进行登陆,进入主页
六、忘记密码
最简单的方式自然是wordpress自带的忘记密码了。输入邮箱即可,但是,有一些人的服务器没有发邮箱的功能,所以,这时候直接进入服务器修改数据库是最合适的了:
- 服务器中进入到wordpress连接的数据库
- 输入use wordpress
- 输入update wp_users set user_pass=md5(“你的新密码”) where user_login=‘注册的时候的用户名’;
好了,新账号密码就有了。