【GCP】Google Container Registry(GCR)にimageをpushする。

GCP


今回はローカル環境のdocker imageをGoogle Container Registry(以下GCR)にpushする事を目標にします。

Google Container Registry API を有効にする。

下記リンクよりAPIを有効にします。

https://cloud.google.com/container-registry/docs/enable-service

Google CLIをインストールと初期設定

google clientをインストールして、インストールされているかバージョン確認コマンドで確認します。

gcloud version

最初は初期化を実行しましょう

gcloud init

下記コマンドでdockerからgcloudにアクセスできりうようにします

gcloud auth configure-docker

dockerからのimageの一覧を取得

まずはローカルのイメージ一覧を確認します。

docker images

こんな感じの一覧が表示されるかと思います。

一覧を確認できましら、pushしたいイメージにtag付けします。
今回は一番上のgo_helloworld_apiをpushする想定でいきます

タグ付けをする

まずpushしたいimageをタグ付けします。

docker tag go_helloworld ホスト名/プロジェクトID/イメージ名

プロジェクトIDは今は青で塗りつぶしてますがここの上に表示されている奴です。

ホスト名ですが、

  • gcr.io (米国)
  • us.gcr.io (米国)
  • eu.gcr.io (欧州)
  • asia.gcr.io (アジア)

ですので、今回はアジアを選択します。

今回はこれでいきます。(プロジェクトIDは変えます。)

docker tag go_helloworld asia.gcr.io/プロジェクトID/go_helloworld

Pushする

次は下記のコマンドでpushします。

docker push ホスト名/プロジェクトID/イメージ名

今回は下記のコマンドになります。

docker push asia.gcr.io/プロジェクトID/go_helloword

エラー対処

pushの認証エラーが発生したのでupdateをしたらpushできるようになりました。下記コマンドでupdateを実行

gcloud components update