Container Registry 已淘汰。Container Registry 將於 2025 年 3 月 18 日停用,且無法再寫入映像檔。
託管於 Artifact Registry 的 gcr.io 網址 (包括含有 gcr.io 網址的 Google 擁有映像檔) 不會受到 Container Registry 停用影響。
建議您使用 Artifact Registry 服務,在 Google Cloud上儲存及管理容器映像檔。Artifact Registry 提供與 Container Registry 相同的容器管理功能,並包含其他功能和優點。Artifact Registry 是全代管服務,同時支援容器映像檔和非容器構件,可擴充 Container Registry 的功能。
新功能摘要
Artifact Registry 擴充了 Container Registry 的功能,提供下列功能:
- 存放區層級的存取權控管。
- 在區域中代管構件,以減少延遲和資料移轉費用,並遵守資料落地規定。
- 將映像檔串流至 Google Kubernetes Engine 和 Google Cloud Serverless for Apache Spark,縮短工作負載啟動時間。
- 從來源部署至 Cloud Run。
- 存放區活動的稽核記錄。
- 強制執行機構政策,包括使用客戶自行管理的加密金鑰 (CMEK) 加密,以及位置限制。
- 掃描容器中的 OS 和語言套件安全漏洞。
- 虛擬存放區:匯總單一主機後方的多個存放區。
- 遠端存放區,可快取來自上游來源 (例如 Docker Hub 或 Maven Central) 的構件。
如要進一步瞭解這些功能,請參閱功能比較。
Google 維護的現有 Container Registry 映像檔
先前在 Container Registry 託管的大部分 Google 擁有映像檔,現在都託管在 Artifact Registry 的 gcr.io 存放區。您不需要變更網址即可提取這些圖片。舉例來說,您仍可使用 Cloud Build 官方建構工具映像檔。
mirror.gcr.io上的快取 Docker Hub 映像檔
Artifact Registry 會在 mirror.gcr.io 上快取經常存取的公開 Docker Hub 映像檔。如要進一步瞭解如何使用 mirror.gcr.io,請參閱提取已快取的 Docker Hub 映像檔。
功能比較
下表摘要列出 Container Registry 和 Artifact Registry 的差異。
| 功能 | Container Registry | Artifact Registry |
|---|---|---|
| 支援的格式 | 僅限容器映像檔 | 多種構件格式,包括容器映像檔、語言套件和 OS 套件。 |
| 網域名稱 | gcr.io |
pkg.dev
如果您設定 gcr.io 存放區,Artifact Registry 也可以儲存 |
| 存放區模式 | 不適用 |
|
| 建立登錄檔 | 只要將第一個映像檔推送到註冊資料庫主機,即可建立該主機。
Container Registry 會將映像檔儲存在 Google Cloud 專案的 Cloud Storage bucket 中,因此授予註冊資料庫專屬權限等動作必須直接套用至 bucket。 |
建立存放區與推送和提取是不同的作業,可清楚區分存放區管理與存放區使用。
在 Artifact Registry 中, Google Cloud 專案沒有要管理的 Cloud Storage bucket。您可以直接在存放區中執行圖片管理動作。 |
| 登記地點 | 每個 Google Cloud 專案最多只能有四個多區域登錄主機。 | 在區域或多區域中建立多個可個別控制的存放區。 |
| 存取控管 |
|
|
| 驗證 | 提供多種驗證方法,可透過第三方用戶端推送及提取映像檔。 | Artifact Registry 支援與 Container Registry 相同的驗證方法。詳情請參閱「為 Docker 設定驗證機制」。 |
| 客戶自行管理的加密金鑰 (CMEK) | 使用 CMEK 加密儲存圖片的儲存空間值區。 | 使用 CMEK 加密個別存放區。 |
| 使用 Google Cloud 控制台 | 在 Google Cloud 控制台的 Container Registry 專區中,查看及管理 Container Registry 映像檔。 | 在 Google Cloud 控制台的「Artifact Registry」部分,查看 Artifact Registry 和 Container Registry 存放區的清單。您可以在這個頁面管理 Artifact Registry 存放區和映像檔。 點選 Container Registry 存放區後,系統會將您導向 Google Cloud 控制台的「Container Registry」部分,顯示映像檔清單。 |
| 使用 gcloud CLI 和 API 指令 | 使用 gcloud container images 指令。指令支援縮短的摘要。如果您未指定完整摘要字串,Container Registry 會嘗試根據部分字串找出正確的映像檔。Container Registry 沒有 REST 或 RPC API。 |
使用 gcloud artifacts docker 指令。指令不支援縮短摘要。
如要比較 Container Registry 和 Artifact Registry 的 gcloud CLI 指令,請參閱 gcloud CLI 指令比較。 Artifact Registry 提供 REST 和 RPC API,可管理存放區和構件。 |
| Pub/Sub 通知 | 發布對「gcr」主題所做的變更。 |
發布對「gcr」主題所做的變更。如果您在與現有 Container Registry 服務相同的專案中建立存放區,現有的 Pub/Sub 設定會自動運作。詳情請參閱「設定 Pub/Sub 通知」。 |
| 稽核記錄 | Container Registry 不提供登錄活動的稽核記錄。 | 使用 Cloud Logging 追蹤存放區的變更。 |
| 已快取的 Docker Hub 映像檔 | mirror.gcr.io 是提取式快取,可儲存所有使用者最常要求的 Docker Hub 映像檔。mirror.gcr.io現已託管於 Artifact Registry。 |
mirror.gcr.io現已託管於 Artifact Registry。除非您在 VPC Service Controls 範圍內使用 mirror.gcr.io,否則無須採取任何行動。如要進一步瞭解如何在 VPC Service Controls 範圍內使用 mirror.gcr.io,請參閱「搭配使用 Artifact Registry 與 VPC Service Controls」。 |
| VPC Service Controls | 您可以將 Container Registry 新增至服務範圍。 | 您可以將 Artifact Registry 新增至服務範圍。 |
| 透過 Artifact Analysis 儲存及分析中繼資料 | 針對支援的 OS 映像檔,透過隨選掃描功能掃描 OS 和語言套件安全漏洞。自動掃描只會傳回 OS 安全漏洞資訊。進一步瞭解掃描類型。
|
透過隨選和自動掃描功能,掃描 OS 和語言套件安全漏洞。進一步瞭解掃描類型。
|
| 映像檔串流 | 無法使用 | 將 Artifact Registry 中的映像檔串流至 GKE 或 Google Cloud Serverless for Apache Spark,即可加快自動調度資源的速度、縮短 Pod 啟動時間,並在提取大型映像檔時減少延遲。 |
| Cloud Run 來源部署作業 | 無法使用 | 原始碼部署 功能可讓您使用單一 gcloud CLI 指令,從原始碼建構容器映像檔、將映像檔儲存在 Artifact Registry, 然後部署至 Cloud Run。 |
| 定價 | Container Registry 的計費方式是依據 Cloud Storage 用量,包括儲存空間和網路資料傳輸。由於登錄主機僅適用於多區域,因此資料移轉費用包括將映像檔部署至 Google Cloud | Artifact Registry 採用獨立的定價,依據儲存空間和網路資料傳輸量計費。 |
| 配額 | Container Registry 的要求限制是固定的。此外,您也會受到 Cloud Storage 配額的限制。 | Artifact Registry 設有專案和使用者配額。每位使用者的配額預設為無上限,但您可以設定每位使用者的上限,避免單一使用者耗用過多專案層級配額。 |
gcloud 指令比較
下表摘要列出 gcloud CLI 中的 Container Registry 指令,以及對應的 Artifact Registry 指令。按一下表格中的連結,即可查看指令的參照頁面。
下表未列出所有可用的 Artifact Registry 指令,這些指令在 Container Registry 中沒有對應項目。如需完整的 Artifact Registry 指令參考資料,請參閱 gcloud artifacts 說明文件。