Heim > Fragen und Antworten > Hauptteil
習慣沉默2017-04-27 09:04:16
docker建议一个容器一个服务,可以把nginx,mysql,PHP-FPM(PHP),拆分到不同的容器中,当你拆分好后可以使用docker的restart机制来保证服务的可用性,可以参考我这个方式docker-node.js
曾经蜡笔没有小新2017-04-27 09:04:16
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
就可以生成容器。
巴扎黑2017-04-27 09:04:16
楼上回答没有解决问题
这篇文章可以解决楼主的问题
https://javablog.net/page/250...
非要在一个docket里运行多个进程并没人拦着你。随意
淡淡烟草味2017-04-27 09:04:16
要保证容器启动后,lnmp也启动,要确保nginx mysql php都在前台启动,否则容器检测到这些进程脱离了容器以后台启动了,容器自身会自动关闭的。关于lnmp的容器化,可以参考https://www.centos.bz/2017/02...