docker容器启动时里面的lnmp服务器如何也跟着启动?启动后怎么保证容器不自动关闭?
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就可以生成容器。
bash build.sh
楼上回答没有解决问题
这篇文章可以解决楼主的问题
https://javablog.net/page/250...
非要在一个docket里运行多个进程并没人拦着你。随意
要保证容器启动后,lnmp也启动,要确保nginx mysql php都在前台启动,否则容器检测到这些进程脱离了容器以后台启动了,容器自身会自动关闭的。关于lnmp的容器化,可以参考https://www.centos.bz/2017/02...
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...