中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

文山县| 洱源县| 绥德县| 陆良县| 新平| 北宁市| 睢宁县| 萍乡市| 嘉兴市| 张家口市| 乌兰浩特市| 盐城市| 灵台县| 乌恰县| 惠东县| 溧水县| 乌什县| 汝阳县| 贡山| 桦川县| 宁南县| 清水河县| 聊城市| 乐都县| 阳城县| 扶余县| 旬邑县| 工布江达县| 铁力市| 灯塔市| 汽车| 文山县| 富民县| 开封县| 沂南县| 安图县| 武山县| 青浦区| 改则县| 马山县| 庆安县|