LoginSignup
32
25

More than 5 years have passed since last update.

GCP Container Registry に Docker ImageをPushする

Posted at

はじめに

GCPでDocker Imageを管理します。Container Registry を使用します。

image.png

PUSH後には、Docker Imageが参照できます

手順

1. gcloud config を確認

  • gcloudが使用できる状態にします
  • ImageをPUSHしたい、projectが指定されているか確認します。もし異なれば、configを変更します
$ gcloud config list
[core]
account = your_account@gmail.com
disable_usage_reporting = False
project = project id

Your active configuration is: [project id]
~

2. 初期設定

  • 以下のコマンドで、 Container Registry に pushできるようになります
    • 裏ではDocker configを gcloudの設定をもとに書き換えてくれています
$ gcloud auth configure-docker
The following settings will be added to your Docker config file
located at [/Users/user/.docker/config.json]:
 {
  "credHelpers": {
    "gcr.io": "gcloud",
    "us.gcr.io": "gcloud",
    "eu.gcr.io": "gcloud",
    "asia.gcr.io": "gcloud",
    "staging-k8s.gcr.io": "gcloud",
    "marketplace.gcr.io": "gcloud"
  }
}

Do you want to continue (Y/n)?

3. docker build

  • buildするときに以下のようにtagをつけます

    • gcr.io : ホストする場所を指定※1
    • [project id] : 自身のもの
    • [app] : 自身のもの
    • latest : 自由にtagをつけれます
  • ビルド済みのimageにあとからtagをつけてもOKです

docker build -t gcr.io/[project id]/[app]:latest .

※1 公式ドキュメントより

gcr.io は米国でイメージをホストしていますが、今後は場所が変更される可能性があります。
us.gcr.io は米国でイメージをホストしますが、その場所は、gcr.io によってホストされるイメージからは独立したストレージ バケットです。
eu.gcr.io は、欧州連合でイメージをホストします。
asia.gcr.io は、アジアでイメージをホストします。

4. docker push

  • あとは docker push するだけです
$ docker push gcr.io/[project id]/[app]:latest
The push refers to a repository [gcr.io/[project id]/[app]:latest]
01a52b56cea2: Pushed
91eb52a6df15: Pushed
[..]

注意:Docker の version

  • 要件 は 1.13 or higher なので、 必要なら Update します
$ gcloud auth configure-docker
ERROR: (gcloud.auth.configure-docker) Invalid Docker version: The version of your Docker client is [1.12.3'
]; version [1.13] or higher is required to support Docker credential helpers.
~

image.png

私のversionは古かったので、Docker for Mac上から update しました

32
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
25