[英]Docker: understanding ENTRYPOINT and CMD instructions
我想問一些關於可以在Dockerfile中使用的ENTRYPOINT
和CMD
指令的問題。
fig
或docker-compose
將本地目錄作為卷安裝在容器中。 何時執行ENTRYPOINT
和CMD
指令?
ENTRYPOINT
,每次啟動容器時都會執行此腳本嗎? ENTRYPOINT
,那么使用ENTRYPOINT
docker run
或docker exec
執行的所有命令都將作為參數傳遞給此腳本嗎? CMD
恢復? 容器啟動並安裝卷后? CMD
? 如果我想啟動一個包含多個進程的容器/運行severa exacutables怎么辦? 1)ENTRYPOINT和CMD按它們在Dockerfile中出現的順序執行,無論卷安裝如何
2)如果你有ENTRYPOINT啟動動詞,你可以傳遞一個參數
3)是的,對於docker run,但是一些例子可能會澄清這一點,而docker exec只是讓你進入容器
4)CMD在容器啟動時執行
5)你可以在Dockerfile中使用幾個CMD,但只使用最后一個,docker設計用於運行一個進程,
如果你想運行幾個,你需要一些工具,如主管http://docs.docker.com/articles/using_supervisord或runit或s6或daemontools,請參閱http://docs.docker.com/faq
由於CMD很容易被覆蓋,而不是ENTRYPOINT(除非你的docker run --entrypoint
),你的Dockerfile中最后一行是最后一行,而最后一行是CMD,實際上是參數,可以改變
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.