Software

將 Docker 推送至 Artifact registry 代管

如果要將 Docker image 推送至 Artifact registry 需要幾個步驟

  1. gcloud 登入金鑰
  2. Artifact registry 存放區設定
  3. Artifact registry 登入

gcloud 登入金鑰的方式之前有寫過了,Artifact registry 存放區設定就按照 UI 的指示就可以了

Artifact registry 登入比較需要筆記一下

  1. 使用 gcloud 進行驗證
    gcloud auth activate-service-account {ACCOUNT} --key-file=KEY-{FILE}
  2. 加入 GCP 主機列表
    gcloud auth configure-docker {HOSTNAME-LIST}
  3. 確認是否有加入
    gcloud artifacts locations list

ACCOUNT = IAM 建立的服務帳號
FILE = 服務帳號下載的金鑰檔位置
HOSTNAME-LIST = GCP 的主機位置列表 us-central1、asia-northeast1 .etc

推送 image

  1. 建立 images tag
    docker tag {SOURCE-IMAGE} {LOCATION}-docker.pkg.dev/{PROJECT-ID}/{REPOSITORY}/{IMAGE}
  2. 推送 images 至 Artifact registry
    docker push LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

SOURCE-IMAGE = 來源的 image 或是可以直接 build
LOCATION = image 要放置的區域
PROJECT-ID = GCP 專案 ID
REPOSITORY = 存放區名稱
IMAGE = Image 名稱

資料來源
https://cloud.google.com/artifact-registry/docs/docker