前几天发帖问了大家学习 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