當我們在編寫 Kubernetes Pod 相關的 yaml spec 時,有時會針對 spec.containers ,設置啟動時要執行的命令及其參數,而 Kubernetes 提供 commandargs,兩種方式可以選擇。但這時候就會出現一些疑問 :

  • 這兩個差異是甚麼 ?
  • Docker Image 中如果自帶 ENTRYPOINT 和 CMD ,若 Kubernetes 再設置 commandargs 會發生甚麼事情呢 ?

以下就來簡單說明一下。

Continue reading

RUN、CMD 和 ENTRYPOINT 指令都可以用來執行具體的命令。RUN 指令是在 Docker 鏡像構建時把執行結果會記錄到鏡像中;而 CMD 和 ENTYPOINT 指令是在容器啟動時自動執行。

ENTRYPOINT 和 CMD 的區別在於使用 ENTRYPOINT 時, CMD 指令會被作為其默認參數,也可以在啟動容器時通過覆蓋 CMD 指令來輸入參數。

Continue reading

Dockerfile 讓我們可以透過設定指令的方式,快速地更新和建構 Image 。由於 Dockerfile 中可以清楚的知道 Image 建構的過程和引用的 package 組成,因此在安全性上會有所提升;也因為是純文字檔,所以 size 很小、易於分享。Dockerfile 裡面有一些指令蠻容易混淆的,這次重點介紹:

  • RUN
  • CMD
  • ENTRYPOINT

這三個指令都可以用來執行具體的命令,但其中又有些差異,以下做一些說明和整理。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan