日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker 覆盖 entrypoint_最佳实践,Dockerfile中ENTRYPOINT与CMD指令的区别与建议

發布時間:2023/12/10 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 覆盖 entrypoint_最佳实践,Dockerfile中ENTRYPOINT与CMD指令的区别与建议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過本文你會獲得什么

熟悉Dockerfile中ENTRYPOINT和CMD指令之間的區別,以及在實際項目中的使用建議。

1 - 開始前準備

首先你要有個docker環境,以下實驗基于:docker 18.09,以及alpine:3.8鏡像。

下載基礎鏡像

docker pull alpine:3.8

2 - ENTRYPOINT與CMD指令

* CMD: 指定容器啟動時所運行的可執行程序與參數。

* ENTRYPOINT: 指定容器啟動時所運行的可執行程序與參數。

你沒看錯,他們從根本上來說實際產生的作用一樣,這里有以下幾個規則:

1. 最多只能設置一個ENTRYPOINT與一個CMD,如果設置多個,均最后一個生效。

2. 當容器設計為一個服務端時(微服務),使用ENTRYPOINT指令指定可執行文件,使用CMD指令指定默認參數。

3. 當容器設計為一個客戶端時(工具等),使用CMD指令指定可執行文件與其參數。

4. CMD指令中的參數可允許被交互時覆蓋,也就是可以在docker run中覆蓋的參數。

5. 支持兩種編寫風格(EXEC與SHELL),均建議使用EXEC風格編寫

6. 設置在ENTRYPOINT指令中的可執行程序與參數,當容器啟動時,優先級高于CMD。

7. 如果父鏡像的Dockerfile定義了CMD,設置ENTRYPOINT會清空父鏡像CMD指令。

3 - 兩種編寫風格

存在兩種風格,分別為EXEC形式與SHELL形式。

* EXEC風格:為一個數組,需使用雙引號隔開

CMD ["executable

總結

以上是生活随笔為你收集整理的docker 覆盖 entrypoint_最佳实践,Dockerfile中ENTRYPOINT与CMD指令的区别与建议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。