如何通过Docker安装WordPress?

本文主要介绍如何在Contos 7环境中,通过docker 安装配置 wordpress,网上的资料虽然多如牛毛,但多数是拾人牙慧,未经实践。

  1. 安装docker

第一步首先是安装docker,如果之前系统中已经安装过的话可以直接略过此步骤。
我们直接通过 yum 安装:

yum install docker
yum install docker 
yum install docker
  1. 启动docker

安装成功之后直接启动docker

service docker <span class="token function">start</span>
service docker <span class="token function">start</span> 
service docker start
  1. 修改镜像源

其实到这里docker已经是可用状态了,但是因为国外的镜像源下载速度感人,我们不得不再进行多一步的配置,将docker下载源设置为国内镜像:
找到 /etc/docker/daemon.json 配置文件,没有的话就创建一个,内容里设置为

<span class="token punctuation">{<!-- --></span> <span class="token string">"registry-mirrors"</span>: <span class="token punctuation">[</span><span class="token string">"https://registry.docker-cn.com"</span><span class="token punctuation">]</span> <span class="token punctuation">}</span>
<span class="token punctuation">{<!-- --></span> <span class="token string">"registry-mirrors"</span>: <span class="token punctuation">[</span><span class="token string">"https://registry.docker-cn.com"</span><span class="token punctuation">]</span> <span class="token punctuation">}</span> 
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
  1. 下载mysql镜像
docker pull mysql:5<span class="token punctuation">.</span>6
docker pull mysql:5<span class="token punctuation">.</span>6 
docker pull mysql:5.6

这里只下载的mysql 的 5.6版本,我之前下载最新版本的 mysql 启动之后,wordpress一直报错连接不上,只好回退到5.6版本。

  1. 启动mysql
docker run <span class="token operator">--</span>name wp_mysql_1 <span class="token operator">--</span>privileged=true <span class="token operator">-</span>p 3306:3306 <span class="token operator">-</span>v <span class="token operator">/</span>home<span class="token operator">/</span>web_1<span class="token operator">/</span>mysql:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib<span class="token operator">/</span>mysql <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=<span class="token string">'xxxxxx'</span> <span class="token operator">-</span>d mysql:5<span class="token punctuation">.</span>6
docker run <span class="token operator">--</span>name wp_mysql_1 <span class="token operator">--</span>privileged=true <span class="token operator">-</span>p 3306:3306 <span class="token operator">-</span>v <span class="token operator">/</span>home<span class="token operator">/</span>web_1<span class="token operator">/</span>mysql:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib<span class="token operator">/</span>mysql <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=<span class="token string">'xxxxxx'</span> <span class="token operator">-</span>d mysql:5<span class="token punctuation">.</span>6 
docker run --name wp_mysql_1 --privileged=true -p 3306:3306 -v /home/web_1/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD='xxxxxx' -d mysql:5.6

这里解释下各个命令的含义:
–name 给运行的容器起一个名字,虽然启动之后,docker会返回一个很长的唯一标识字符串,但名字更利于管理和记忆。
–privileged=true 给容器开启特权,使容器可以看到外部设备。此命令执行必要性存疑。
-p 3306:3306 将容器的3306端口映射到主机的3306端口,使其他设备能够通过此端口访问到容器。
-v /home/web_1/mysql:/var/lib/mysql 给容器添加卷,冒号前为主机目录,冒号后为容器内目录。相当于容器和主机共享此目录,你在主机修改此目录的结果可以直接反应在容器中。
-e MYSQL_ROOT_PASSWORD=‘xxxxxx’ 给容器添加一个环境变量,我们通过MYSQL_ROOT_PASSWORD环境变量设置 mysql root用户的登录密码。
-d 后台运行此容器。

  1. 创建数据库
    下面我们需要为wordpress创建一个数据库,进入mysql 容器
docker exec <span class="token operator">-</span>it wp_mysql_1 <span class="token operator">/</span>bin<span class="token operator">/</span>bash
docker exec <span class="token operator">-</span>it wp_mysql_1 <span class="token operator">/</span>bin<span class="token operator">/</span>bash 
docker exec -it wp_mysql_1 /bin/bash

连接mysql,输入刚才设置的密码

mysql <span class="token operator">-</span>u root <span class="token operator">-</span>p
mysql <span class="token operator">-</span>u root <span class="token operator">-</span>p 
mysql -u root -p

创建数据库

create database wordpress<span class="token punctuation">;</span>
create database wordpress<span class="token punctuation">;</span> 
create database wordpress;

退出数据库连接

quit
quit 
quit

退出mysql容器

<span class="token keyword">exit</span>
<span class="token keyword">exit</span> 
exit
  1. 查看mysql地址
docker inspect wp_mysql_1 <span class="token punctuation">|</span> grep <span class="token string">"IPAddress"</span>
docker inspect wp_mysql_1 <span class="token punctuation">|</span> grep <span class="token string">"IPAddress"</span> 
docker inspect wp_mysql_1 | grep "IPAddress"

连接数据库需要地址和端口,我们之前已经把mysql容器的3306端口映射到了主机,但是还不知道容器的虚拟地址,其可以通过此命令来获取。

  1. 下载wordpress镜像
docker pull wordpress:latest
docker pull wordpress:latest 
docker pull wordpress:latest
  1. 启动wordpress
docker run <span class="token operator">--</span>name wordpress_1 <span class="token operator">-</span>v <span class="token operator">/</span>home<span class="token operator">/</span>web_1<span class="token operator">/</span>wordpress:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>www<span class="token operator">/</span>html <span class="token operator">-</span>e WORDPRESS_DB_HOST=172<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0<span class="token punctuation">.</span>2:3306 <span class="token operator">-</span>e WORDPRESS_DB_USER=root <span class="token operator">-</span>e WORDPRESS_DB_PASSWORD=<span class="token string">'xxxxxx'</span> <span class="token operator">-</span>e WORDPRESS_DB_NAME=wordpress <span class="token operator">-</span>p 80:80 <span class="token operator">-</span>d wordpress:latest
docker run <span class="token operator">--</span>name wordpress_1 <span class="token operator">-</span>v <span class="token operator">/</span>home<span class="token operator">/</span>web_1<span class="token operator">/</span>wordpress:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>www<span class="token operator">/</span>html <span class="token operator">-</span>e WORDPRESS_DB_HOST=172<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0<span class="token punctuation">.</span>2:3306 <span class="token operator">-</span>e WORDPRESS_DB_USER=root <span class="token operator">-</span>e WORDPRESS_DB_PASSWORD=<span class="token string">'xxxxxx'</span> <span class="token operator">-</span>e WORDPRESS_DB_NAME=wordpress <span class="token operator">-</span>p 80:80 <span class="token operator">-</span>d wordpress:latest 
docker run --name wordpress_1 -v /home/web_1/wordpress:/var/www/html -e WORDPRESS_DB_HOST=172.17.0.2:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD='xxxxxx' -e WORDPRESS_DB_NAME=wordpress -p 80:80 -d wordpress:latest

这个命令的参数和之前启动mysql时候的参数基本相同,不再详细解释。需要注意的是WORDPRESS_DB_HOST的数据库地址是通过第七步的命令获取到的,其他几个环境变量的值都是之前步骤中设置过的。到此,基本完成了所有安装配置过程。
我们可以通过

docker <span class="token function">ps</span> <span class="token operator">-</span>a
docker <span class="token function">ps</span> <span class="token operator">-</span>a 
docker ps -a

查看容器是否正常
在这里插入图片描述
接下来即可在浏览器上通过 ip/wp-admin/install.php,来配置wordpress了。
这是我配置的网站地址:http://www.czhiyi.top/ ,欢迎大家浏览指导。
另外,给自己的开源库打个广告:
https://github.com/caozhiyi/CppNet
希望大家百忙之余,不忘star一下。感谢!

原文链接:https://blog.csdn.net/u012778714/article/details/102869935

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享