docker构建lnmp环境
docker构建lnmp环境
使用docker来构建lnmp环境。其中,如果采用php官方提供的docker镜像源(如:php:7.1-apache),其提供了一些快捷安装php扩展的工具,如docker-php-source、docker-php-ext-install等工具,非常方便安装相关的工具扩展。
参考资料
一键lnmp
首先,这只是一种测试环境。不能用在生产上。所有的数据,都没有挂载存储的数据。容器内的数据,跟随着容器的消亡。
而且一次性,将几种服务,部署在一个容器内,也不是一种好的架构。后期,在扩容的时候,非常麻烦。但是呢,who care,毕竟我就是拿他来做测试环境的。
image=10.131.9.12:5000/docker.io/centos:latest
docker pull $image
docker run -it --name centos-lnmp -d $image /bin/bash
docker exec -it centos-lnmp bash
# 在容器内操作
yum install -y tmux
tmux new -s lnmp
yum install -y wget
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp
# 安装redis
cd /home/lnmp1.6 && ./addons.sh install redis
# 保存容器为镜像
docker stop centos-lnmp
# 可能需要较长的时间,返回一段hash
docker commit centos-lnmp 10.131.9.12:5000/scc/centos-lnmp:0.1
# 查看是否生成了镜像 2.34G大小
docker images |grep centos-lnmp
# 启动测试,但是下面无法直接执行 bash卡在前台,但是没有应用
docker run --name lnmp-test -d -p 8082:80 10.131.9.12:5000/scc/centos-lnmp:0.1 /bin/bash
# 然后进入容器内,使用lnmp 来启动
lnmp # 容器内执行
# 上面的方式确实有点low 需要自己设置入口点函数 。但是毕竟是测试环境,who care