1. ホーム
  2. yaml

[解決済み] Kubernetesで1つのyamlファイルに複数のコマンドを設定する方法とは?

2022-04-26 14:52:32

質問

この公式ドキュメントでは、yaml設定ファイル内のコマンドを実行することができます。

<ブロッククオート

https://kubernetes.io/docs/tasks/configure-pod-container/

apiVersion: v1
kind: Pod
metadata:
  name: hello-world
spec:  # specification of the pod’s contents
  restartPolicy: Never
  containers:
  - name: hello
    image: "ubuntu:14.04"
    env:
    - name: MESSAGE
      value: "hello world"
    command: ["/bin/sh","-c"]
    args: ["/bin/echo \"${MESSAGE}\""]

複数のコマンドを実行したい場合、どのようにすればよいですか?

どのように解決するのですか?

command: ["/bin/sh","-c"]
args: ["command one; command two && command three"]

説明する。 command ["/bin/sh", "-c"] は、"シェルを実行し、次の命令を実行する"と記述しています。引数は、シェルへのコマンドとして渡されます。シェルスクリプトでは、セミコロンでコマンドを区切ります。 && は、最初のコマンドが成功した場合に、次のコマンドを条件付きで実行します。上の例では、常に command one に続いて command two を実行するだけです。 command three もし command two が成功しました。

代替品です。 多くの場合、実行したいコマンドのいくつかは、最終的に実行するコマンドを設定しているのでしょう。この場合、自分でビルドすることで ドッカーファイル がおすすめです。を見てください。 RUN ディレクティブは特にそうです。