docker容器启动时里面的lnmp服务器如何也跟着启动
docker容器启动时里面的lnmp服务器如何也跟着启动?
启动后怎么保证容器不自动关闭?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
docker容器启动时里面的lnmp服务器如何也跟着启动?
启动后怎么保证容器不自动关闭?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(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...