前提条件
- Dockerイメージが作成されていること
- gcloud CLI がインストールされていること
参考サイト
■Dockerイメージの作成方法

①Artifact Registryリポジトリの作成
Dockerイメージを格納するためのリポジトリを作成します。
Artifact Registryのコンソール画面に遷移し、画面上部の「+ リポジトリの作成」を選択します。

以下の設定を行い、作成
を選択してリポジトリをデプロイします。
設定項目 | 値 | 補足 |
---|---|---|
名前 | リポジトリの名前 | - |
形式 | Docker | - |
ロケーションタイプ | リージョン | 可用性を担保するために冗長化したい場合は「マルチリージョン」を選択してください。 |
上記以外の設定項目 | デフォルトのまま | 詳細設定を行いたい場合、公式サイトを参考に設定してください。 |

ターミナル(コマンドプロンプト、PowerShell 等)で以下コマンドを実行し、Artifact Registry に対して認証を行います。
gcloud auth configure-docker asia-northeast1-docker.pkg.dev
②Artifact Registryリポジトリにイメージをプッシュ
アプリが配置されているディレクトリに移動し、Dockerイメージをビルドします。
docker build -t asia-northeast1-docker.pkg.dev/<PROJECT_ID>/<REPOSITRY_NAME>/<IMAGE_NAME>:<TAG> .
<PROJECT_ID>
: Google Cloud プロジェクトの ID<REPOGITRY_NAME>
: Artifact Registry のリポジトリ名<IMAGE_NAME>:<TAG>
: プッシュする Docker イメージの名前とバージョン
■エラーが発生する場合
Docker Engineが起動されていない場合、以下のエラーメッセージが発生します。
ERROR: error during connect: Head "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/_ping": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
その場合は以下の手順で、Docker Desktopを起動してください。
スタートメニュー
→Docker Desktop
を検索し、クリックして起動- 起動後にタスクバーのDockerアイコン(クジラマーク)が表示されるか確認
- 数分待ち、再度
docker info
を実行して動作を確認
作成したDockerイメージに対して、Artifact Registry用のタグ付けを行います。
docker tag <IMAGE_NAME>:<TAG> asia-northeast1-docker.pkg.dev/<PROJECT_ID>/<REPOSITRY_NAME>/<IMAGE_NAME>:<TAG>
<PROJECT_ID>
: Google Cloud プロジェクトの ID<REPOGITRY_NAME>
: Artifact Registry のリポジトリ名<IMAGE_NAME>:<TAG>
: プッシュする Docker イメージの名前とバージョン
docker push asia-northeast1-docker.pkg.dev/<PROJECT_ID>/<REPOSITRY_NAME>/<IMAGE_NAME>:<TAG>
<PROJECT_ID>
: Google Cloud プロジェクトの ID<REPOGITRY_NAME>
: Artifact Registry のリポジトリ名<IMAGE_NAME>:<TAG>
: プッシュする Docker イメージの名前とバージョン
③コンテナのデプロイ
コンソール画面から[Cloud Run]ページに遷移し、コンテナをデプロイ
>サービス
の順に選択します。

以下の設定を行い、作成
を選択してコンテナをデプロイします。
設定項目 | 値 | 補足 |
---|---|---|
サービスの種類 | 「既存のコンテナイメージから1つのリビジョンをデプロイする」 | - |
コンテナイメージのURL | ②でArtifact Registryにプッシュしたコンテナイメージ | 選択 を選択すると、Artifact Registry内のコンテナイメージの候補が表示されます。 |
サービス名 | Cloud Runのサービス名 | - |
リージョン | コンテナを実行したいリージョン | - |
認証 | 未認証の呼び出しを許可 | アプリケーションレイヤーのアクセス制御の有無を選択します。(※) |
コンテナポート | アプリがリッスンしているポート番号 | - |
Ingress | すべて | ネットワークレイヤーのアクセス制御を選択します。 |
上記以外の設定項目 | デフォルトのまま | 詳細設定を行いたい場合、公式サイトを参考に設定してください。 |

■アクセス制御を実現したい場合
上記の設定だと全世界のユーザーがコンテナアプリにアクセスできてしまうので、セキュリティの懸念があります。 ※特に開発段階は注意が必要です。
「インターネット公開したいけど、アクセスできるユーザーは限定したい」という場合は、「Identity-Aware Proxy(IAP)」の利用を推奨します。
<IAPのメリット>
- IAPに登録しているユーザーのみが、アプリにアクセスできるようになる。
④動作確認
Cloud Runのサービス画面に遷移し、URLを確認します。

ブラウザにURLを入力して、アクセスできることを確認します。
【補足】デプロイ済みサービスへの新規リビジョンの追加
アプリソースを変更した場合、作成したサービスに「新規リビジョン」をデプロイすることで変更内容を更新できます。
「②Artifact Registryリポジトリにイメージをプッシュ」の手順に従って、Dockerイメージのビルド・プッシュ行います。 ※タグ付けする際は、既存と異なるタグを設定してください。
作成したサービスの画面に遷移して、新しいリビジョンの編集とデプロイ
を選択します。

コンテナイメージのURL
に新たにプッシュしたコンテナイメージを選択し、デプロイ
を選択します。

コメント