docker容器啟動時裡面的lnmp伺服器如何也跟著啟動
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-04-27 09:02:16
0
4
943

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...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板