Question#26(Professional Cloud Developer)
あなたは Python アプリケーションを開発し、コンテナ化して Cloud Run にデプロイしようとしています。以下のステップを含む Cloud Build パイプラインを作成しました。
ユニットテストを実行する(
python test.py)Docker イメージをビルドする(
docker build -t ...)Cloud Run にデプロイする(
gcloud run deploy ...)
パイプラインを実行したところ、Cloud Build のログで最後のデプロイステップが失敗し、コンテナが Cloud Run にデプロイできないことがわかりました。この問題の原因は何ですか?また、どのように解決すべきですか?

正解:B
Cloud Build で docker build を行っただけでは、イメージはビルド環境のローカルに存在するだけで、外部からは参照できません。
なぜ B が正解なのか?
イメージの所在:
gcloud run deployコマンドが実行されるとき、Cloud Run は指定されたイメージをレジストリ(Artifact Registry や Container Registry)から取得しようとします。不足している手順: 問題文に記載された手順では「ビルド(build)」はしていますが、レジストリへの「公開(push)」が抜けています。そのため、Cloud Run はイメージを見つけることができず、デプロイに失敗します。
解決策:
docker pushステップを追加するか、Cloud Build のimagesフィールドを使用してビルド後に自動でプッシュされるように構成する必要があります。

コメント