コンテナを構成する

このページでは、Cloud Run ジョブのエントリポイント コマンドと引数を構成する方法について説明します。

Cloud Run がコンテナを起動すると、イメージのデフォルトのエントリポイント コマンドとデフォルトのコマンド引数が実行されます。イメージのデフォルトのエントリポイントとコマンド引数をオーバーライドする場合は、コンテナ構成の command フィールドと args フィールドを使用できます。command フィールドは、コンテナによって実行される実際のコマンドを指定します。args フィールドは、そのコマンドに渡される引数を指定します。

必要なロール

Cloud Run ジョブの構成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run ジョブが Google Cloud APIs(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

エントリポイントと引数を構成する

ジョブのコマンド エントリポイントと引数を構成するには:

コンソール

  1. Google Cloud コンソールで Cloud Run の [ジョブ] ページに移動します。

    Cloud Run に移動

  2. 新しいジョブを構成する場合は、[ジョブ] タブをクリックし、必要に応じて初期ジョブ設定ページを入力します。既存のジョブを構成する場合は、ジョブをクリックして [編集] をクリックします。

  3. [コンテナ、変数とシークレット、接続、セキュリティ] をクリックして、ジョブのプロパティ ページを開きます。

  4. [全般] タブをクリックします。

    画像

    • コンテナで実行するコマンドを指定します(コンテナでコマンドが定義されていない場合)。オプションで、エントリポイント コマンドへの引数を指定します。
  5. [作成] または [更新] をクリックします。

コマンドライン

  1. 新しいジョブの start コマンドと引数を設定するには:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

    次のように置き換えます。

    • JOB_NAME: ジョブの名前。
    • COMMAND は、デフォルトのコマンドを使用していない場合に、コンテナを起動するコマンドに置き換えます。
    • ARG1 は、コンテナ コマンドに送信する引数に置き換えます。引数が複数の場合は、カンマ区切りのリストを使用します。
    • IMAGE_URL は、コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/job:latest など)に置き換えます。

既存のジョブのコマンドと引数を更新するには:

gcloud run jobs update JOB_NAME --command COMMAND --args ARG1,ARG-N 

YAML

  1. 新しいジョブを作成する場合は、この手順をスキップします。既存のジョブを更新する場合は、その YAML 構成をダウンロードします。

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. args: 属性と command 属性を更新します。

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - args:
                - 'ARG1'
                - 'ARG-N'
                command:
                - COMMAND
                image: IMAGE

    次のように置き換えます。

    • COMMAND は、デフォルトのコマンドを使用していない場合に、コンテナを起動するコマンドに置き換えます。
    • ARG1 は、コンテナ コマンドに送信する引数に置き換えます。必要に応じて、1 行に 1 つずつ追加の引数を指定します。

    環境変数やメモリ上限など他の構成を指定することもできます。

  3. 既存のジョブ構成を更新します。

    gcloud run jobs replace job.yaml

設定したエントリポイント コマンドと引数をクリアするには(コンテナのデフォルトに戻すには)、次のように空の文字列を指定します。

gcloud run jobs update JOB_NAME --command "" --args "" 

引数に等号またはカンマを使用する

引数で等号を使用する場合は、次の形式を使用して指定します。

gcloud run deploy  \
  --args="--repo-allowlist=github.com/example/example_demo"

引数にカンマが含まれる場合、カンマをエスケープする方法については、環境変数の構成をご覧ください。

コンテナ設定を表示する

Cloud Run ジョブの現在のコンテナ設定を表示するには:

コンソール

  1. Google Cloud コンソールで Cloud Run の [ジョブ] ページに移動します。

    Cloud Run の [ジョブ] に移動

  2. 目的のジョブをクリックして、[ジョブの詳細] ページを開きます。

  3. [構成] タブをクリックします。

  4. 構成の詳細でシークレットの設定を見つけます。

コマンドライン

  1. 次のコマンドを使用します。

    gcloud run jobs describe JOB_NAME
  2. 返された構成で、コンテナ設定を見つけます。