天天看點

k8s args和command1.介紹2.執行個體3.執行個體運作兩個指令運作

1.介紹

Docker 與 Kubernetes 中對應的字段名稱。

k8s args和command1.介紹2.執行個體3.執行個體運作兩個指令運作

如果在容器配置中沒有設定 command 或者 args,那麼将使用 Docker 鏡像自帶的指令及其入參。

如果在容器配置中隻設定了 command 但是沒有設定 args,那麼容器啟動時隻會執行該指令,Docker 鏡像中自帶的指令及其入參會被忽略。

如果在容器配置中隻設定了 args,那麼 Docker 鏡像中自帶的指令會使用該新入參作為其執行時的入參。

如果在容器配置中同時設定了 command 與 args,那麼 Docker 鏡像中自帶的指令及其入參會被忽略。容器啟動時隻會執行配置中設定的指令,并使用配置中設定的入參作為指令的入參。

下表涵蓋了各類設定場景:

k8s args和command1.介紹2.執行個體3.執行個體運作兩個指令運作

#第一個表示容器沒有定義任何的指令和參數,使用預設的鏡像指令和參數

#第二個表示容器隻定義了指令,最後就使用容器的指令但是不帶參數

#第三個表示容器定義了參數,最後使用鏡像的指令,容器的參數

#第四個表示容器定義了指令和參數,最後就使用容器的指令和參數

2.執行個體

apiVersion: v1
kind: Pod
metadata:
  name: ng1
  namespace: default
spec:
  nodeName: cs25
  containers:
    - name: ng1
      image: ng1
      command: [ "/bin/sh","-c" ]
      #運作的指令
      args: [ "echo '222'>/222.txt;sleep 30" ]
      #指令的參數
      imagePullPolicy: Never           
apiVersion: v1
kind: Pod
metadata:
  name: ng5
  namespace: default
spec:
  nodeName: cs25
  containers:
    - name: ng1
      image: ng1
      command: [ "/bin/sh","-c" ]
      #運作的指令
      args: [ "echo '555'>/555.txt;sleep 30" ]
      #指令的參數
      imagePullPolicy: Never           

3.執行個體運作兩個指令運作

apiVersion: v1
kind: Pod
metadata:
  name: ng5
  namespace: default
spec:
  nodeName: cs25
  containers:
    - name: ng1
      image: ng1
      #自定義鏡像
      command: [ "/bin/sh","-c"]
      #運作的指令
      args: [ "echo '555'>/usr/share/nginx/html/index.html; /usr/sbin/nginx -g 'daemon off;'" ]
      #先把"555" 傳遞給index檔案,在在前台啟動nginx
      imagePullPolicy: Never
      #由于是自定義鏡像,網上沒有檔案,設定隻能使用本地鏡像