使用docker + wordpress搭建个人站点

记得之前建站还得先在服务器准备LAMP环境, 安装步骤细碎繁琐. 现在有docker搭建站点可就方便多了. 虚拟化容器技术大行其道是有原因的, 因为真的很好用!

1.准备工作 寻找一个云服务提供商. : 阿里云优惠链接: 3年228起
初始化一个ECS实例, 选用操作系统centOS某个稳定版本(比如7 x64)

2.安装 yum-utils


$ sudo yum install -y yum-utils \

device-mapper-persistent-data \

lvm2

3.切换成清华大学的 Docker 安装源, 规避墙的影响

$ sudo yum-config-manager \

--add-repo \

https://mydream.ink/utils/container/docker-ce.repo

4.安装 docker CE

$ sudo yum install docker-ce docker-ce-cli containerd.io

 如果弹出导入key的问题, 选择接受

5.配置镜像加速器

国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务。完整的加速器列表请见:https://y0ngb1n.github.io/a/docker-registry-mirrors.html?js

新建或修改/etc/docker/daemon.json, 加入

{
    "registry-mirrors": [
        "https://dockerhub.azk8s.cn",
        "https://reg-mirror.qiniu.com"
    ]
}

一定要确保JSON文件的格式没有问题,否则 docker 无法启动,修改完成后执行以下命令:

$ sudo systemctl daemon-reload

启动 Docker, 设置开机启动

$ sudo systemctl start docker

$ sudo systemctl enable docker

第二部分,, 准备容器

$ docker pull mariadb ###拉取MariaDB镜像
$ docker run -d -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=在这里输入你要设置的数据库密码 $(docker images | grep mariadb| awk '{print $1}') ###创建mariadb容器

备注: 

  • docker run :启动容器 
  • -d:后台运行容器 
  • -e MYSQL_ROOT_PASSWORD=123456:指定容器的环境参数,此处初始化MariaDB的root密码 
  • -p 3306:3306:端口映射,这里将容器内的3306端口映射到本机的3306端口 
  • --name $(docker images | grep mariadb| awk '{print $1}'):使用变量获取MariaDB的镜像名称。可直接写mariadb

创建之后对其改名

$ docker rename 原容器名称 mariadb ##将mariadb容器改名为mariadb

拉一个 wordpress 镜像

$ docker pull wordpress

现在我们来运行镜像,并使之与MariaDB镜像互相连接,也就是直接采用数据库镜像的数据库服务:

$ docker run -itd  -p 80:80 --link mariadb:db  $(docker images | grep wordpress | awk '{print $1}')

然后使用docker ps -a命令就可以看到,此时容器已经启动成功

$ docker ps -a

image.png

name那一列不能直接看出容器的作用, 不是很直观, 所以再给容器重命名, 方便之后引用

$ docker reaname 原容器名 想要的容器名

image.png

第三部分, wordpress配置.
此时访问服务器的80端口, 是可以访问到wordpress服务了. 但是需要进一步的配置. 在wordpress配置页面, 需要填写数据库相关的配置, 我们需要在服务器做一些自定义的配置, 之后把对应的信息填在wp的配置页.

image.png

a.查看MySQL容器的IP地址

$ docker inspect db |grep "IPAddress"|awk 'NR==2{print}'|awk '{print $2}'  ##查询db容器的IP地址

image.png

b.创建一个数据表给wordpress使用

$ docker exec -it mariadb /bin/bash   ##进入数据库容器
mysql -uroot -p

输入之前在启动容器时设定的密码, 登录数据库.
进入之后,我们需要创建一个数据库给wordpress使用,所以这时候输入

create database wordpress;

(注意: 不要忘记分号!!!)
image.png

然后新建一个数据库用户用于专属使用wordpress

 CREATE USER 'username'@'%' IDENTIFIED BY 'password';

image.png

创建完成之后给予该用户相关操作权限,下面这个命令就是给该用户对wordpress数据库所有的操作权限

 grant all on wordpress.* to 'username'@'%' with grant option;

image.png
最后还需要刷新一下权限

flush privileges;

这时候就可以回到网页那里了,输入刚才那些信息就可以了
image.png

你可能感兴趣的:(docker,wordpress,建站,容器)