共用方式為


在 Azure Container Registry 中使用成品快取最佳化映像提取

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 CLIAzure 入口網站產生認證集。

某些公用 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 編碼。

欲了解更多如何建立憑證集的資訊,請點擊下一節的連結。

後續步驟