このページでは、コンテナポートの構成方法、エントリポイント コマンドと引数について説明します。
Cloud Run がコンテナを起動すると、イメージのデフォルトのエントリポイント コマンドとデフォルトのコマンド引数が実行されます。イメージのデフォルトのエントリポイントとコマンド引数をオーバーライドする場合は、コンテナ構成の command
フィールドと args
フィールドを使用できます。command
フィールドは、コンテナによって実行される実際のコマンドを指定します。args
フィールドは、そのコマンドに渡される引数を指定します。
コンテナポートの構成
構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。
コンテナは、特定のハードコードされたポートではなく、PORT
環境変数で定義されたポートをリッスンする必要があります。ただし、これができない場合は、どのポートのリクエストをコンテナに送信するかを構成できます。
Console
デプロイ先の新しいサービスを構成する場合は、[サービスの作成] をクリックします。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
[詳細設定] で [コンテナ] をクリックします。
リクエストを送信するポートを指定します(デフォルト値「8080」でない場合)。これにより、「PORT」環境変数も設定されます。
[作成] または [デプロイ] をクリックします。
コマンドライン
次のコマンドを使用して、サービスのポート構成を更新できます。
gcloud run services update SERVICE --port PORT
次のように置き換えます。
- SERVICE は、サービスの名前に置き換えます。
- PORT は、リクエストを送信するポートに置き換えます。デフォルトのポートは
8080
です。
デプロイの間に、次のコマンドを使用してポートを構成することもできます。
gcloud run deploy --image IMAGE_URL --port PORT
IMAGE_URL
は、コンテナ イメージへの参照(gcr.io/myproject/my-image:latest
など)に置き換えます。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud beta run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードします。
gcloud run services describe SERVICE --format export > service.yaml
containerPort:
属性を更新します。spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
次のように置き換えます。
IMAGE_URL
は、コンテナ イメージへの参照(gcr.io/myproject/my-image:latest
など)に置き換えます。- PORT は、リクエストを送信するポートに置き換えます。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud beta run services replace service.yaml
コンテナのエントリポイント コマンドと引数の構成
構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。
新しいサービスを作成するとき、または新しいリビジョンをデプロイするときに、Cloud Console、gcloud コマンドライン、.yaml ファイルを使用してエントリポイント コマンドと引数を設定できます。
Console
デプロイ先の新しいサービスを構成する場合は、[サービスの作成] をクリックします。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
[詳細設定] で [コンテナ] をクリックします。
コンテナで実行するコマンドを指定します(コンテナでコマンドが定義されていない場合)。オプションで、エントリポイント コマンドへの引数を指定します。
[作成] または [デプロイ] をクリックします。
コマンドライン
次のコマンドを使用して、特定のサービスの起動コマンドと引数を更新できます。
gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N
次のように置き換えます。
- COMMAND は、デフォルトのコマンドを使用していない場合に、コンテナを起動するコマンドに置き換えます。
- ARG1 は、コンテナ コマンドに送信する引数に置き換えます。引数が複数の場合はカンマ区切りのリストを使用します。
デプロイの間に、次のコマンドを使用してエントリポイントと引数を指定することもできます。
gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
IMAGE_URL
は、コンテナ イメージへの参照(gcr.io/myproject/my-image:latest
など)に置き換えます。
引数で等号を使用する場合は、次の形式を使用して指定します。
gcloud run deploy \
--args "--repo-allowlist=github.com/example/example_demo" \
--args "--gh-webhook-secret=XX" \
引数にカンマが含まれる場合、カンマをエスケープする方法については、環境変数の構成をご覧ください。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud beta run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードします。
gcloud run services describe SERVICE --format export > service.yaml
command
属性とargs
属性を更新します。spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
次のように置き換えます。
IMAGE_URL
は、コンテナ イメージへの参照(gcr.io/myproject/my-image:latest
など)に置き換えます。- COMMAND は、デフォルトのコマンドを使用していない場合に、コンテナを起動するコマンドに置き換えます。
- ARG1 は、コンテナ コマンドに送信する引数に置き換えます。引数が複数の場合はカンマ区切りのリストを使用します。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud beta run services replace service.yaml