{GCP Artifact Registry}Docker コンテナ イメージを Artifact Registry に保存する

 

https://cloud.google.com/artifact-registry/docs/docker/store-docker-container-images?hl=ja


Google Cloud には、コンテナ イメージの保存と管理を行うための 2 つのサービスがあります。

Artifact Registry(推奨)
Container Registry

現在、Container Registry を使用していない場合は、Artifact Registry を使用してください。


-- 1. 前作業

gcloud init
gcloud auth list

gcloud --version

gcloud projects create project01-9999999 \
--name="project01"

gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet

gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111

gcloud services enable compute.googleapis.com --project project01-9999999

gcloud components update


-- 2. Artifact Registry API を有効にします

gcloud services list --enabled

gcloud services enable artifactregistry.googleapis.com \
--project project01-9999999


-- 3. Docker リポジトリを作成する

gcloud artifacts repositories create repo01 \
--repository-format=docker \
--location=asia-northeast1 \
--description="repo01"

gcloud artifacts repositories list

 

-- 4. 認証を構成する

gcloud auth configure-docker asia-northeast1-docker.pkg.dev

 

-- 5. push するイメージを取得する

docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0

docker images


-- 6. イメージをリポジトリに追加する

docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \
asia-northeast1-docker.pkg.dev/project01-9999999/repo01/image01:tag01

docker images

docker push asia-northeast1-docker.pkg.dev/project01-9999999/repo01/image01:tag01


-- 7. コンテナー イメージの一覧表示

gcloud artifacts docker images list asia-northeast1-docker.pkg.dev/project01-9999999/repo01

 

-- 8. Artifact Registry からイメージを pull する

docker images

docker rmi asia-northeast1-docker.pkg.dev/project01-9999999/repo01/image01:tag01

docker images

docker pull asia-northeast1-docker.pkg.dev/project01-9999999/repo01/image01:tag01

docker images


-- 9. クリーンアップ

gcloud artifacts repositories delete \
repo01 \
--location=asia-northeast1 \
--quiet


gcloud projects list

gcloud projects delete project01-9999999 \
--quiet