Azure Container Registry 的構件快取功能可讓您在公用和私人存放庫中快取容器映像。
使用 Artifact 快取,透過 Azure Container Registry(ACR)進行更快速且更可靠的拉取作業。 它使用異地復寫和可用性區域支援等功能,以獲得更高的可用性和更快的映像提取。 您可以透過私人網路存取快取的註冊表,以符合防火牆組態與合規標準。
成品快取解決了公共註冊表施加的拉取限制挑戰。 建議您使用上游來源認證驗證快取規則。 然後,您可以從本機 ACR 提取映像,以協助降低速率限制。
工件快取功能可在基本、標準和進階服務層級中使用。 您可以在 Azure 入口網站或使用 Azure CLI 啟用成品快取規則。
術語
在使用成品快取時,了解以下術語會很有幫助:
快取規則:您建立的規則,用於從支援的存放庫拉取成品到您的快取中。 快取規則包含四個部分:
-
規則名稱:快取規則的名稱。 例如:
Hello-World-Cache。 - 來源:來源登錄的名稱。
-
存放庫路徑:存放庫的來源路徑,用於找到並檢索您想要快取的成品。 例如:
docker.io/library/hello-world。 -
新的 ACR 存放庫命名空間:儲存成品的新存放庫路徑名稱。 例如:
hello-world。 存放庫不存在於 ACR 實例內。
-
規則名稱:快取規則的名稱。 例如:
認證:為來源登錄設定的使用者名稱和密碼。 您需要憑證才能與公用或私人儲存庫進行身份驗證。 認證包含四個部分:
- 認證:您的認證名稱。
- 來源登錄登入伺服器:來源登錄的登入伺服器。
- 來源驗證:用來儲存認證的金鑰保存庫位置。
- 使用者名稱和密碼密碼:包含使用者名稱和密碼的秘密。
目前的限制
使用成品快取時,請注意以下限制:
- 快取僅在可用容器映像至少完成一次映像提取後發生。 每當有新的映像可用時,必須完成一次新的映像提取。 目前,成品快取不會在新標籤可用時自動拉取映像的新標籤。
- 成品快取最多支援 1,000 個快取規則。
- 成品快取規則不能與其他快取規則重疊。 換句話說,如果您已針對某個註冊表路徑建立成品快取規則,就不能再新增與其重疊的快取規則。
上游支援
成品快取目前支援以下上游註冊表。
警告
若要從 Docker Hub 獲取內容,您必須使用 Azure CLI 或 Azure 入口網站產生認證集。
某些公用 Docker Hub 映像會對應至公開存取的命名空間 library。 在此情況下,如果您未包含 library 路徑,成品快取會自動為您包含它。
| 上游註冊表 | 支援 | 可用性 |
|---|---|---|
| Docker Hub | 僅支援經驗證的拉取。 | Azure CLI、Azure 入口網站 |
| Microsoft 成品登錄 | 僅支援未經驗證的拉取。 | Azure CLI、Azure 入口網站 |
| AWS Elastic Container Registry (ECR) 公共資源庫 | 僅支援未經驗證的拉取。 | Azure CLI、Azure 入口網站 |
| GitHub 容器註冊表 | 支援經驗證與未經驗證的拉取。 | Azure CLI、Azure 入口網站 |
| Quay | 支援經驗證與未經驗證的拉取。 | Azure CLI、Azure 入口網站 |
Kubernetes 容器映像登錄檔(registry.k8s.io) |
支援經驗證與未經驗證的拉取。 | Azure CLI |
Google 組件註冊表(*.pkg.dev) |
僅支援經驗證的拉取。 | Azure CLI |
舊有 Google 容器登錄檔 (gcr.io) |
支援經驗證與未經驗證的拉取。 | Azure CLI |
Google Artifact 登錄的認證方法
要從私人 Google Artifact 登錄庫(GAR)設定 Artifact Cache,我們建議使用在 Google Cloud 主控台建立的服務帳號金鑰來與 GAR 進行認證。 你可以為服務帳戶金鑰設定自訂的到期日(例如3個月),並將金鑰永久保存在 Azure Key Vault。
雖然你可以用 gcloud CLI 產生的存取權杖來驗證,但不建議用在 Artifact Cache 上,因為存取權杖會在 1 小時後過期。
欲了解更多如何建立服務帳號金鑰的資訊,請參閱 「使用 Google Artifact 登錄驗證」。 取得服務帳號金鑰後,將它存為 Azure Key Vault 的秘密。 然後把你的憑證密碼指向這個機密。 使用者名稱應設定為:
-
_json_key如果你使用的是建立檔案時提供的 JSON 格式服務帳號金鑰。 -
_json_key_base64如果您對帳戶金鑰檔案的所有內容進行 base64 編碼。
欲了解更多如何建立憑證集的資訊,請點擊下一節的連結。
後續步驟
- 了解如何使用 Azure 入口網站或 Azure CLI 啟用成品快取。
- 瞭解如何使用 通配符 比對容器映像登錄內的多個路徑。