前几天发帖问了大家学习 docker 的路线,前辈都说要自己搭建一个网站,于是注册了亚马逊一个一年免费的 EC2 服务。搭建了自己的服务器。
1.购买服务器 (我买的是免费的哈)
搭建过程比较顺利就不多说了,贴一张图,我选的是 Centos,按照提示创建实例,设置安全组等,之后所部署的端口都需要在安全组放行。

之后用 Xshell 进行远程连接登录,

2. 使用 Docker 搭建 LAMP 环境
1.安装 docker

$ yum install docker

2.启动 docker

$ systemctl start docker.service
$ sytemctl enable docker.service/docker

3.下载镜像 LAMP 文件

先修改一下docker的配置文件,改镜像地址
$ vi /etc/docker/daemon.json

4.拉取镜像文件,会比较慢,耐心等待一下哈

$ docker search -s 10 lamp
$ docker pull http://docker.io/tutum/lamp

5.创建容器,装镜像文件

$ docker run -d --name=lamp -p 8080:80 -p 3306:3306 http://docker.io/tutum/lamp

到这,我们的 LAMP 服务就搭好了,可以通过 docker ps 查看当前正在运行的容器

3. docker 中安装 WordPress

1.先修改镜像文件地址

$ vi /etc/docker/daemon.json
{
   "registry-mirros":"http://hub.c.163.com"
}

2.拉取镜像文件

$ docker pull wordpress

3.运行 wordpress 镜像文件

 docker run -it -e WORDPRESS_DB_HOST=你的服务器地址:3306 -e WORDPRESS_DB_USESR=root -e WORDPRESS_DB_PASSWORD=你的数据库密码-p 8088:80 -d wordpress  
端口我用的是8088,同时安全组需要打开这个端口

4.查看正在运行的镜像文件

$ docker ps

5.登录 mysql 容器,创建,配置 wordpress 数据库

$ docker exec -it mysql /bin/bash
root@9c2362b5e32f:/# mysql -u root -p 123456
mysql> create database wordpress;

到此就可以访问你的 wordpress 了
http://你的服务器 ip:8088/wp-admin/setup-config.php
如果报错 404,需要检查一下安全组的端口 8088 是否打开,

如果报数据库错误,可以用 navicat 连接一下,如果连不上说明数据库的配置有问题

解决 docker 中 mysql 无法从外部连接的问题

$ docker exec -it mysql /bin/bash
root@9c2362b5e32f:/# mysql -u root -p 123456
mysql> use mysql;
添加root用户可以远程访问:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql> update `mysql`.`user` set `Grant_priv` = 'Y' where `user` = 'root';
mysql> delete from user where user='root' and host='localhost';
mysql> flush privileges;

登录我的博客进行模板设置即可

参考文献:https://zhuanlan.zhihu.com/p/109099491


↙↙↙阅读原文可查看相关链接,并与作者交流