记得以前建站还得先在服务器准备LAMP环境, 安装步骤细碎繁琐. 如今有docker搭建站点可就方便多了. 虚拟化容器技术大行其道是有缘由的, 由于真的很好用!html
1.准备工做 寻找一个云服务提供商. : 阿里云优惠连接: 3年228起
初始化一个ECS实例, 选用操做系统centOS某个稳定版本(好比7 x64)mysql
2.安装 yum-utilsgit
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
3.切换成清华大学的 Docker 安装源, 规避墙的影响github
$ sudo yum-config-manager \ --add-repo \ https://mydream.ink/utils/container/docker-ce.repo
4.安装 docker CEsql
$ sudo yum install docker-ce docker-ce-cli containerd.io
若是弹出导入key的问题, 选择接受docker
5.配置镜像加速器数据库
国内从 Docker Hub 拉取镜像有时会遇到困难,此时能够配置镜像加速器。Docker 官方和国内不少云服务商都提供了国内加速器服务。完整的加速器列表请见:https://y0ngb1n.github.io/a/docker-registry-mirrors.html?jsjson
新建或修改/etc/docker/daemon.json, 加入bash
{ "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 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
name那一列不能直接看出容器的做用, 不是很直观, 因此再给容器重命名, 方便以后引用
$ docker reaname 原容器名 想要的容器名
第三部分, wordpress配置.
此时访问服务器的80端口, 是能够访问到wordpress服务了. 可是须要进一步的配置. 在wordpress配置页面, 须要填写数据库相关的配置, 咱们须要在服务器作一些自定义的配置, 以后把对应的信息填在wp的配置页.
a.查看MySQL容器的IP地址
$ docker inspect db |grep "IPAddress"|awk 'NR==2{print}'|awk '{print $2}' ##查询db容器的IP地址
b.建立一个数据表给wordpress使用
$ docker exec -it mariadb /bin/bash ##进入数据库容器
mysql -uroot -p
输入以前在启动容器时设定的密码, 登陆数据库.
进入以后,咱们须要建立一个数据库给wordpress使用,因此这时候输入
create database wordpress;
(注意: 不要忘记分号!!!)
而后新建一个数据库用户用于专属使用wordpress
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
建立完成以后给予该用户相关操做权限,下面这个命令就是给该用户对wordpress数据库全部的操做权限
grant all on wordpress.* to 'username'@'%' with grant option;
最后还须要刷新一下权限
flush privileges;
这时候就能够回到网页那里了,输入刚才那些信息就能够了