總覽
K8S集群創建Pod時,可以為其下的容器設置啟動時要執行的命令及其參數。設置命令,就填寫在配置文件的command字段下,如果要設置命令的參數,就填寫在配置文件的args字段下。一旦Pod創建完成,該命令及其入參無法再進行更改。
配置文件中設置了容器啟動時要執行的命令及其參數,那么容器鏡像中自帶的命令 與參數將會被覆蓋而不再執行。如果配置文件中只是設置了入參,卻沒有設置其對應的命令,那么容器鏡像中自帶的命令會使用該新參數作為其執行時的參數。
Docker 與 Kubernetes中對應的字段名稱。
容器運行的命令
Entrypoint
command
傳遞給命令的參數集合
Cmd
args
規則
如果要覆蓋默認的 Entrypoint 與 Cmd,需要遵循如下規則:
如果在容器配置中沒有設置command 或者 args,那么將使用Docker鏡像自帶的命 令及其入參。
如果在容器配置中只設置了command但是沒有設置args,那么容器啟動時只會執行該 命令,Docker鏡像中自帶的命令及其入參會被忽略。
如果在容器配置中只設置了args,那么Docker鏡像中自帶的命令會使用該新入參作為 其執行時的入參。
如果在容器配置中同時設置了command 與 args,那么Docker鏡像中自帶的命令及 其入參會被忽略。容器啟動時只會執行配置中設置的命令,并使用配置中設置的入參作為 命令的入參。
參考答案:
https://kubernetes.io/zh/docs/tasks/inject-data-application/define-command-argument-container/
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn