【GCP】Google Container Registry(GCR)にimageをpushする。
今回はローカル環境の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