下列為影響 Container Registry 的淘汰通知。另請參閱 Docker 的淘汰通知與通知的changelog。
1.6 版以下的 Docker Registry v1 API 和 Docker 用戶端
我們在 2016 年 12 月 14 日宣佈 Docker v1.13 於 2017 年 2 月 28 日發佈後,Docker Engine 將不再支援 v1 通訊協定。
Container Registry 也因此不支援 1.6 版以下的 Docker 用戶端。2017 年 2 月 28 日之後,1.6 版以下的 Docker 用戶端無法與 Container Registry API 進行通訊。此外,您也無法提供儲存在 Container Registry 且採用 v1 通訊協定的任何容器映像檔。
如要查看這項變更是否會影響您的映像檔,請執行下列步驟:
執行下列指令,檢查您使用的 Docker 用戶端版本:
gcloud docker -- --version
如果用戶端版本低於 1.6 版,則必須更新 Docker 用戶端,然後必須將您的映像檔更新為採用 Docker Registry v2 通訊協定。
提取受影響的 v1 映像檔:
gcloud docker -- pull gcr.io/[PROJECT-ID]/[IMAGE]
再次推送映像檔:
gcloud docker -- push gcr.io/[PROJECT-ID]/[IMAGE]
如要進一步瞭解 Docker Registry 的 v1 和 v2 通訊協定,請參閱容器映像檔格式。
非標準 Container Registry 值區
自 2017 年 2 月 28 日起,「自備值區」的註冊資料庫 (如 b.gcr.io
和 bucket.gcr.io
) 已遭到淘汰而無法使用。Container Registry 不再提供託管在這些值區中的任何容器映像檔。
如要繼續使用這些映像檔,您必須將映像檔移動到標準 Container Registry 位置,像是 gcr.io
、us.gcr.io
、asia.gcr.io
或 eu.gcr.io
。
如要將容器映像檔從非標準值區遷移到標準值區,請執行下列步驟:
提取非標準值區中的映像檔:
gcloud docker -- pull b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG]
使用標準註冊資料庫位置名稱重新標記映像檔:
gcloud docker -- tag b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
使用目標專案 ID,將映像檔重新推送到 Container Registry (使用 Docker 用戶端 1.6 版以上的版本):
gcloud docker -- push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
變更容器映像檔中繼資料的儲存空間
從 2017 年 2 月 28 日開始,Container Registry 變更了容器「映像檔中繼資料」檔案的儲存位置。映像檔中繼資料是指映像檔名稱、映像檔標記和映像檔資訊清單等資訊,這些資訊透過摘要來標示構成映像檔的分層檔案。
如果您是直接存取或操作 Cloud Storage 值區中的中繼資料檔案 (如變更記錄或物件生命週期管理) 以進行刪除作業,則這項變更可能會對您造成影響。
先前您將映像檔推送到 Container Registry 時,Container Registry API 會將這些映像檔的中繼資料和分層檔案儲存在專案的 Cloud Storage 值區中。從 2017 年 2 月 28 日開始,Container Registry 會將映像檔中繼資料儲存在高效能的後端資料庫,以改善效能和功能性。映像檔分層檔案仍然儲存在 Cloud Storage 中。
系統會自動新增 Container Registry 服務帳戶到您的專案,其名稱類似於 [PROJECT-NUMBER]@containerregistry.iam.gserviceaccount.com
。這個服務帳戶會啟動新的 Container Registry API 並管理遷移作業。請勿將此服務帳戶刪除或降級,或是停用新的 Container Registry API。
gcloud docker 指令和 18.03 版以上的 Docker 用戶端
自 2018 年 4 月 3 日起,18.03 版以上的 Docker 用戶端不再支援 gcloud docker
。
如要針對 18.03 版以上的用戶端版本驗證傳送至 Container Registry 的要求,請使用 gcloud
做為 Docker 憑證輔助程式。如要進行此操作,請執行以下指令:
gcloud auth configure-docker
或者,您也可以使用其他進階驗證方法。