這個問題在這里已經有了答案: Dockerfile 中的 CMD 和 ENTRYPOINT 有什么區別? (17 個回答) 昨天關閉。
我看過一些基于inspect有CMD和ENTRYPOINT集的影像。
這是什么想法?當兩者都設定時,會提供哪些用例?
uj5u.com熱心網友回復:
根據https://docs.docker.com/engine/reference/builder/#cmd
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
這意味著 CMD 可以用作入口點的引數串列。
更新 1
這里的想法是您可以指定入口點(在啟動時運行的二進制檔案),然后將此入口點的 CMD 引數設定為可以被覆寫。
更新版本 2
下面是一個例子:
cat Dockerfile
FROM busybox
ENTRYPOINT ["ls"]
CMD ["etc"]
現在,如果您構建影像并在沒有任何引數的情況下運行它,它將生成包含etc檔案夾內容的串列
$ docker run lister
group
hostname
hosts
localtime
mtab
network
passwd
resolv.conf
shadow
如果您確實指定了引數,則可以覆寫 CMD 并列出不同檔案夾的內容
$ docker run lister var
spool
www
所以可執行檔案在兩種情況下都保持不變,而 Dockerfile 中的 CMD 定義了這個二進制檔案的默認引數。然后我們可以在運行容器時覆寫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/344450.html
標籤:码头工人 文件 码头工人形象 码头工人运行 码头工人入口点
上一篇:作業目錄中沒有這樣的檔案或目錄
