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

溫馨提示×

Docker中CMD和ENTRYPOINT的區別是什么

小億
108
2023-08-03 10:48:30
欄目: 編程語言

在Docker中,CMD和ENTRYPOINT是兩種不同的指令,用于指定在容器啟動時要執行的命令。

CMD指令用于為容器指定默認的執行命令。它可以有多種不同的格式:

  • CMD [“executable”,“param1”,“param2”]:以JSON數組的形式指定要執行的命令及其參數。這種格式中,CMD會被解析為一個單獨的命令,如果用戶指定了其他的命令,將會覆蓋CMD。

  • CMD command param1 param2:以默認的shell格式指定要執行的命令。這種格式下,CMD會被解析為一個命令行,如果用戶指定了其他的命令,將會覆蓋CMD。

ENTRYPOINT指令用于將容器作為可執行程序運行。它也可以有多種不同的格式:

  • ENTRYPOINT [“executable”, “param1”, “param2”]:以JSON數組的形式指定要作為可執行程序運行的命令及其參數。這種格式下,ENTRYPOINT會被解析為一個單獨的命令,如果用戶指定了其他的命令,將會覆蓋ENTRYPOINT。

  • ENTRYPOINT command param1 param2:以默認的shell格式指定要作為可執行程序運行的命令。這種格式下,ENTRYPOINT會被解析為一個命令行,如果用戶指定了其他的命令,將會覆蓋ENTRYPOINT。

區別:

  • CMD是為了提供默認值,如果用戶在運行容器時指定了其他的命令,則會覆蓋CMD。而ENTRYPOINT是要將容器作為可執行程序運行,用戶無法覆蓋ENTRYPOINT。

  • 如果在Dockerfile中同時使用了CMD和ENTRYPOINT,CMD的內容會作為ENTRYPOINT的參數。即CMD指定的命令及參數會被添加到ENTRYPOINT指定的命令之后。

總結:CMD用于指定默認的執行命令,而ENTRYPOINT用于將容器作為可執行程序運行,并且可以與CMD結合使用。

0
称多县| 年辖:市辖区| 沙河市| 阜阳市| 辽阳县| 绍兴县| 大安市| 宁晋县| 沅江市| 阿克苏市| 曲麻莱县| 新昌县| 大邑县| 泗水县| 从化市| 武宣县| 庆城县| 安西县| 宜兰市| 城市| 宝山区| 水城县| 格尔木市| 昂仁县| 武山县| 九寨沟县| 繁昌县| 民县| 龙江县| 武威市| 万州区| 伊金霍洛旗| 融水| 德州市| 黄龙县| 嘉黎县| 永丰县| 巴楚县| 通榆县| 湘阴县| 广宗县|