docker容器启动时里面的lnmp服务器如何也跟着启动
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-04-27 09:02:16
0
4
917

docker容器启动时里面的lnmp服务器如何也跟着启动?
启动后怎么保证容器不自动关闭?

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回复(4)
習慣沉默

docker建议一个容器一个服务,可以把nginx,mysql,PHP-FPM(PHP),拆分到不同的容器中,当你拆分好后可以使用docker的restart机制来保证服务的可用性,可以参考我这个方式docker-node.js

曾经蜡笔没有小新

docker的原理在于,docker run运行的容器,实质上只是一个进程,后端调用各种系统调用进行隔离,使之看起来像个虚拟机。

docker run 运行起来的进程和其子进程,只要主进程不死掉,docker容器就不会挂掉。

根据这一点,我们可以把supervisord当成主进程,连带着启动php和nginx。由supervisord管理php与nginx进程。


现成的dockerfile。

supervisord进程管理+nginx+php7

php+nginx+supervisord的dockerfile:
https://github.com/qiukeren/d...

恩,同时会安装salt-minion,如果不需要的话,自己定制一下就行了。

项目地址:

https://github.com/qiukeren/d...,直接执行bash build.sh就可以生成容器。

巴扎黑

楼上回答没有解决问题

这篇文章可以解决楼主的问题

https://javablog.net/page/250...

非要在一个docket里运行多个进程并没人拦着你。随意

淡淡烟草味

要保证容器启动后,lnmp也启动,要确保nginx mysql php都在前台启动,否则容器检测到这些进程脱离了容器以后台启动了,容器自身会自动关闭的。关于lnmp的容器化,可以参考https://www.centos.bz/2017/02...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板