Container Registry - Google
  • 2,454 views,
  • 2018-09-13,
  • 上傳者: 洪國恩,
  •  0
51ad70f3d52dc2e5456c5c4f80599a65.png
雖然透過 Dockerfile 可以快速又方便的產生出新的 image,但是在某些特殊環境,常常還是會失敗 (比如拉不到某些套件的 respostory 之類的)。即使拉的到,卻還是要花很長的時間重新 build。那是否能把 build 好的檔案存起來,需要的時候拉下來直接用呢?
Google 的 container registry 就是一個方便的選擇。
步驟
1.
建立專案
這個就是連到 https://console.cloud.google.com 然後把該做該填的弄一弄,之後就要 [啟用 API]
記得找到這個,並按下啟用
 
2.
下載 Google Cloud SDK
到這個網頁,https://cloud.google.com/sdk/docs/ ,挑選你的作業系統,並安裝 Google Cloud SDK
如果是 CentOS 可以用下列語法快速安裝
sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
[google-cloud-sdk]
name=Google Cloud SDK
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM

yum -y install google-cloud-sdk
3.
設定權限/授權
在 console 下執行
gcloud auth configure-docker
會出現下列訊息
The following settings will be added to your Docker config file
located at [/root/.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)?  y

Docker configuration file updated.
 
4.
產生憑證 Key (json)
記得選取 [服務帳戶金鑰]
並且產生 json 檔案 (要保存好)
5.
設定權限環境變數
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"
把上一個步驟的 json 檔案設定到環境變數後,這樣就會簡單一點,能夠直接完成認證
6.
標記 docker 
把已經 build 好的 docker 指定 tag
docker tag your-image gcr.io/[PROJECT-ID]/your-image:tag1
上傳 docker image
docker push gcr.io/[PROJECT-ID]/your-image:tag1
7.
下載 docker image
接下來就是使用端了,只要把 image 拉下來,就可以不需要 build 直接使用囉!~
如果該機器還沒有做過認證的話,可以簡單地輸入
 gcloud auth login
完成 offline 的授權即可
docker pull gcr.io/[PROJECT-ID]/your-image:tag1
訪客如要回應,請先 登入
    資料夾 :
    發表時間 :
    2018-09-13 10:35:14
    觀看數 :
    2,454
    發表人 :
    洪國恩
    部門 :
    老洪的 IT 學習系統
    QR Code :