習慣沉默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...