Help us understand the problem. What is going on with this article?

【GCP】ローカルのDockerイメージをContainer RegistryにPushするまで

概要

ローカル環境で開発してビルドしたコンテナイメージを、ローカルから「Container Registry」のリポジトリにプッシュするための作業

参考

https://cloud.google.com/container-registry/docs/pushing-and-pulling#push_the_tagged_image_to

手順

1. gcloudの設定

  1. gcloudコマンドをローカル環境にインストール
  2. 初期設定
    • gcloud init

2. イメージのPush/Pull用サービスアカウント作成

自分のユーザーアカウントを使う場合、プロジェクトがいろいろと紐づいているとプロジェクトIDの選択ミスが怖いので、専用のサービスアカウントを作る。

  1. サービスアカウント作成
    • コンソールで作業
  2. 権限設定
  3. サービスアカウントのキーを作成し、ローカルで認証設定

3. Docker 認証設定

gcloud をDockerの認証ヘルパーとして使用するための設定

  1. ローカルで gcloud auth configure-docker を実行

4. Dockerイメージのプッシュ

※ もし複数アカウントがある場合は以下でアカウントを切り替える
gcloud config set account [ACCOUNT]

  1. ローカル イメージにレジストリ名でタグ付けする
    • 命名規則 : [HOSTNAME]/[PROJECT-ID]/[IMAGE]
      • [HOSTNAME] : 以下から選ぶ。これでイメージを保存する場所が決まる。
        • gcr.io は米国内のデータセンターでイメージをホストしていますが、今後は場所が変更される可能性があります。
        • us.gcr.io は米国内のデータセンターでイメージをホストしていますが、gcr.io によってホストされるイメージからは独立したストレージ バケットです。
        • eu.gcr.io は、欧州連合でイメージをホストします。
        • asia.gcr.io は、アジアのデータセンターでイメージをホストします。
      • [PROJECT-ID] : 対象のGoogle CloudプロジェクトのプロジェクトID
      • [IMAGE] : コンテナイメージの名前
    • タグ付けコマンド : docker tag [ローカル イメージ名またはイメージ ID] [レジストリ名]:[タグ(未指定はlatest)]
  2. プッシュ
    • docker push [レジストリ名]:[タグ(未指定はlatest)]

新規でプッシュすると、Container Registry上にリポジトリができる。

cloudpack
Amazon Web Services (AWS) の導入設計、環境構築、運用・保守をサポートするマネジドホスティングサービス
https://cloudpack.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away