K8s Pod Command 與容器鏡像 Cmd 啓動順序

前言: 建立 Pod 時,能夠爲其下的容器設置啓動時要執行的命令及其入參。若是要設置命令,就填寫在配置文件的 command 字段下,若是要設置命令的入參,就填寫在配置文件的 args 字段下。一旦 Pod 建立完成,該命令及其入參就沒法再進行更改了。
Docker 與 Kubernetes 中對應的字段名稱以下:
K8s Pod Command 與容器鏡像 Cmd 啓動順序app

若是要覆蓋默認的 Entrypoint 與 Cmd,須要遵循以下規則:ide

1)若是在編排文件中沒有設置 command 或者 args,那麼將使用 Docker 鏡像自帶的命令及其入參。blog

2)若是在編排文件中只設置了 command 可是沒有設置 args,那麼容器啓動時只會執行該命令,Docker 鏡像中自帶的命令及其入參會被忽略。get

3)若是在編排文件中只設置了 args,那麼 Docker 鏡像中自帶的命令會使用該新入參做爲其執行時的入參。kubernetes

4)若是在編排文件中同時設置了 command 與 args,那麼 Docker 鏡像中自帶的命令及其入參會被忽略。容器啓動時只會執行配置中設置的命令,並使用配置中設置的入參做爲命令的入參。it

各種設置場景以下:
K8s Pod Command 與容器鏡像 Cmd 啓動順序io

參考連接:https://kubernetes.io/zh/docs/tasks/inject-data-application/define-command-argument-container/class

相關文章
相關標籤/搜索