91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CMD和ENTRYPOINT怎么使用

發布時間:2022-01-04 14:12:11 來源:億速云 閱讀:171 作者:iii 欄目:云計算

本篇內容介紹了“CMD和ENTRYPOINT怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

CMD

CMD指令有三種形式:

  • CMD ["executable","param1","param2"] (exec形式,這是優先形式)

  • CMD ["param1","param2"] (作為ENTRYPOINT的默認參數)

  • CMD command param1 param2 (shell 形式)

Dockerfile中只能有一條CMD指令。如果存在多個CMD,那么只有最后一個CMD才會生效。

CMD的主要目的是為正在執行的容器提供默認值。這些默認值可以包括可執行文件,也可以省略可執行文件。省略可執行文件時必須指定ENTRYPOINT指令。

備注:如果CMD用于為ENTRYPOINT指令提供默認參數,則CMD和ENTRYPOINT指令都應該使用JSON數組格式指定。

備注:exec形式會被解析為JSON數組,這意味著必須對單詞使用雙引號,而不是單引號。

備注:與shell形式不同,exec形式不調用命令shell。這意味著正常的shell處理不會生效。例如,CMD ["echo", "$HOME"]不會對$HOME執行變量替換。如果想要shell處理生效,要么使用shell形式,要么直接執行shell,例如:CMD [ "sh", "-c", "echo $HOME" ]。當使用exec形式并直接執行shell時,就像shell形式一樣,執行環境變量擴展的是shell,而不是docker。

在使用shell或exec格式時,CMD設置了運行鏡像時要執行的命令。

如果使用CMD的shell形式,那么<命令>將在/bin/sh -c中執行:

FROM ubuntu
CMD echo "This is a test." | wc -

如果不想在shell的形式下運行<command>,那么必須將該命令表示為JSON數組,并給出可執行文件的完整路徑。建議優先使用CMD命令的數組形式。任何額外的參數必須單獨表示為數組中的字符串:

FROM ubuntu
CMD ["/usr/bin/wc","--help"]

如果希望容器每次運行相同的可執行文件,那么應該考慮將ENTRYPOINT與CMD結合使用。

如果用戶指定docker run的參數,那么CMD中指定的默認值將被run的參數覆蓋。

備注:不要將RUN與CMD混淆。RUN實際運行一個命令并提交結果;CMD在構建時不執行任何操作,但為鏡像指定預期的命令。

ENTRYPOINT

ENTRYPOINT有兩種形式:

  • ENTRYPOINT ["executable", "param1", "param2"] (exec 形式,這是優先形式)

  • ENTRYPOINT command param1 param2 (shell 形式)

ENTRYPOINT允許您配置將作為可執行文件運行的容器。

“CMD和ENTRYPOINT怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨竹工卡县| 拉萨市| 鄄城县| 青海省| 尉犁县| 山丹县| 临清市| 鄂托克前旗| 余干县| 蓝田县| 潜山县| 社会| 长汀县| 通辽市| 咸宁市| 太仓市| 茂名市| 桑日县| 宽城| 平谷区| 调兵山市| 金寨县| 黄梅县| 寿宁县| 赣榆县| 古交市| 阿尔山市| 肇源县| 海淀区| 玉树县| 嵩明县| 新宁县| 沂南县| 吉林省| 荔波县| 老河口市| 洮南市| 循化| 延长县| 独山县| 大兴区|