Docker搭建LNMP环境
2019-03-23 本文已影响0人
想象之中丶意料之外
第一步:安装Docker
docker的安装这里就直接省略了,直接去Docker官方文档安装一下。安装后,再去阿里云镜像加速配置一下镜像源。不然下载镜像会很慢。
第二步:运行docker,并用docker安装centos7.6系统。
- 先试一下,看看能不能执行docker 和 docker-compose。不知道什么是docker-compose请看这里
$ docker -v
Docker version 18.09.2, build 6247962
$ docker-compose -v
docker-compose version 1.23.2, build 1110ad01
- 看到这些,就是没问题的。接下来安装centos7.6。大家可以去Docker Hub找自己想要的镜像。
$ docker pull centos // 下载centos镜像
Using default tag: latest
latest: Pulling from library/centos
8ba884070f61: Already exists
Digest: sha256:8d487d68857f5bc9595793279b33d082b03713341ddec91054382641d14db861
Status: Downloaded newer image for centos:latest
$ docker images // 查看所有已下载的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 9f38484d220f 8 days ago 202MB
第三步:运行Centos7镜像,并基于Centos7 安装lnmp
$ docker run -it centos // 运行,并进入到了centos容器里面了。
// 进来先用yum安装下面这个东西。否则后面lnmp安装会出现报错。
[root@b1fc5ed806d1 /]# yum provides '*/applydeltarpm'
[root@b1fc5ed806d1 /]# yum install deltarpm
// 上面那个装好后,安装wget,因为后面要用这个命令。
[root@b1fc5ed806d1 /]# yum install wget
// 关键来了,我们安装LNMP。我直接从lnmp.org上面安装的。根据自己的需求,选择好后,我们就默默的等着就好。别让电脑关机了。
[root@b1fc5ed806d1 /]# wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
// 等了31分钟,终于好了。执行以下:lnmp
[root@b1fc5ed806d1 lnmp1.5]# lnmp
+-------------------------------------------+
| Manager for LNMP, Written by Licess |
+-------------------------------------------+
| https://lnmp.org |
+-------------------------------------------+
Usage: lnmp {start|stop|reload|restart|kill|status}
Usage: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
Usage: lnmp vhost {add|list|del}
Usage: lnmp database {add|list|edit|del}
Usage: lnmp ftp {add|list|edit|del|show}
Usage: lnmp ssl add
Usage: lnmp {dnsssl|dns} {cx|ali|cf|dp|he|gd|aws}
- lnmp安装好后,另外再开一个终端窗口。执行以下docker操作。千万别动刚才安装lnmp的窗口,否则刚才安装的东西全都没有了。
$ docker ps // 用docker ps 命令,查看正在运行的容器。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1fc5ed806d1 centos "/bin/bash" About an hour ago Up About an hour objective_lamport
$ docker commit b1fc5ed806d1 lnmp // 将正在运行的这个id为 b1fc5ed806d1 容器commit起来,这样在关闭容器时,安装的东西不会出现丢失。
sha256:3fb6e783af23ea51a2a707cea1038dac0a7af880b5b0c5a829703c8f6fd1ec45
$ docker images // 再看一下本地镜像,发现多了刚才commit的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmp latest 3fb6e783af23 About a minute ago 1.78GB
centos latest 9f38484d220f 8 days ago 202MB
$ docker tag lnmp:latest guokai2012/lnmp:1.0 // 打上tag
$ docker images // 再看一下,多出来刚才tag的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
guokai2012/lnmp 1.0 3fb6e783af23 3 minutes ago 1.78GB
lnmp latest 3fb6e783af23 3 minutes ago 1.78GB
centos latest 9f38484d220f 8 days ago 202MB
$ docker push guokai2012/lnmp:1.0 // 现在把这个tag镜像推到远程仓库
The push refers to repository [docker.io/guokai2012/lnmp]
11a96e04f01b: Pushed
d69483a6face: Layer already exists
1.0: digest: sha256:c33bede8f1c374f2e0883b7ff59f82be9473578ffe65c7f8209aab201126e70f size: 742
- 至此,整个docker安装lnmp就结束了。
第四步:编写docker-compose.yml文件,来运行自己配置容器lnmp
-
下面就是配置的图片。仅供参考。
docker-compose.png -
配置好yml文件后,我们用docker-compose来启动我们的容器
$ docker-compose up -d lnmp // 启动lnmp容器
Starting guokai_lnmp_1 ... done
$ docker-compose exec lnmp /bin/bash // 进入lnmp容器
[root@53b81fecb212 /]# lnmp start // 启动lnmp,由于MySQL我没选安装,所有启动里面看不到MySQL信息
+-------------------------------------------+
| Manager for LNMP, Written by Licess |
+-------------------------------------------+
| https://lnmp.org |
+-------------------------------------------+
Starting LNMP...
Starting nginx... done
Starting php-fpm done
[root@53b81fecb212 /]#
-
验证一下。我们直接访问127.0.0.1
success.png
~ The End
参考:
1、如何写docker-compose.yml,Docker compose file 参考文档
2、Docker(四)----Docker-Compose 详解
3、保存对容器的修改
4、LNMP一键安装包