1. Dockerイメージが正しくビルドされているか確認
まず、ローカルでDockerイメージをビルドする必要があります。
docker build -t gcr.io/roadtoentrepreneur/morning-slack-up .
• -t: イメージタグを指定します。
• .: Dockerfileが存在するディレクトリ。
イメージがローカルに存在するか確認
ビルドしたDockerイメージがローカルに存在するか確認します。
docker images
出力例:
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/roadtoentrepreneur/morning-slack-up latest abcdef123456 5 minutes ago 120MB
gcr.io/roadtoentrepreneur/morning-slack-upが表示されていればビルド成功です。
2. DockerイメージをGoogle Container Registryにプッシュ
次に、イメージをGoogle Container Registry (GCR) にプッシュします。
DockerとGCRの認証
GCRにプッシュするには認証が必要です。以下を実行してください。
gcloud auth configure-docker
Dockerイメージをプッシュ
以下のコマンドでDockerイメージをGCRにプッシュします。
docker push gcr.io/roadtoentrepreneur/morning-slack-up
3. GCRにイメージが存在するか確認
プッシュ後、イメージがGCRに存在するか確認します。
gcloud container images list --repository=gcr.io/roadtoentrepreneur
出力例:
NAME DIGEST TAGS TIMESTAMP
gcr.io/roadtoentrepreneur/morning-slack-up sha256:abc123 latest 2024-12-05T12:34:56
gcr.io/roadtoentrepreneur/morning-slack-up がリストに含まれていない場合、再度プッシュを試みてください。
4. Cloud Runに再デプロイ
イメージがGCRにあることを確認後、Cloud Runに再デプロイします。
gcloud run deploy morning-slack-up \
--image gcr.io/roadtoentrepreneur/morning-slack-up \
--region asia-northeast1 \
--platform managed \
--allow-unauthenticated
5. エラーが解消しない場合の追加確認
プロジェクト設定を確認
Google CloudプロジェクトIDが正しいか確認してください。
gcloud config get-value project
正しいプロジェクトIDを使用するには以下を実行します。
gcloud config set project roadtoentrepreneur
APIの有効化を確認
Cloud RunとContainer RegistryのAPIが有効になっているか確認してください。
gcloud services enable run.googleapis.com containerregistry.googleapis.com