Share via


成品快取的疑難排解指南

本文是六部分教學課程系列的第六部分。 第一部分提供快取成品快取的概觀,以及其功能、優點和限制。 在第二部分中,您會了解如何使用 Azure 入口網站來啟用成品快取功能。 在第三部分中,您會了解如何使用 Azure CLI 來啟用成品快取功能。 在第四部分中,您會了解如何使用 Azure 入口網站啟用具有驗證的成品快取功能。 在第五部分中,您會了解如何使用 Azure CLI 啟用具有驗證的成品快取功能。

本文可協助您針對嘗試使用成品快取時可能會遇到的問題進行疑難排解。

徵兆和原因

可能包含下列一或多項問題:

可能的解決方案

快取的映像不會出現在即時存放庫中

如果您遇到 ACR 的存放庫中未顯示快取映像的問題,建議您確認存放庫路徑。 不正確的存放庫路徑會導致快取映像不會顯示在 ACR 的存放庫中。

  • Docker Hub 的登入伺服器是 docker.io
  • Microsoft 成品登錄的登入伺服器是 mcr.microsoft.com

Azure 入口網站會自動為您填滿這些欄位。 不過,許多 Docker 存放庫路徑的開頭是 library/。 例如,為了快取 hello-world 存放庫,正確的存放庫路徑為 docker.io/library/hello-world

狀況不良的認證

認證是一組 Key Vault 祕密,可作為私人存放庫的使用者名稱和密碼使用。 狀況不良的認證通常是因為這些祕密不再有效。 在 Azure 入口網站中,您可以選取認證來進行編輯和套用變更。

  • 確認 Azure Key Vault 中的祕密尚未過期。
  • 確認 Azure Key Vault 中的祕密有效。
  • 確認已指派 Azure Key Vault 的存取權。

若要指派 Azure Key Vault 的存取權:

az keyvault set-policy --name myKeyVaultName --object-id myObjID --secret-permissions get

深入了解 Key Vault。 深入了解指派 Azure Key Vault 的存取權

無法建立快取規則

快取規則限制

如果您在建立快取規則時遇到問題,建議您確認是否已建立超過 1000 個快取規則。

建議您刪除任何不必要的快取規則,以避免達到限制。

深入了解快取術語

無法使用萬用字元建立快取規則

如果您嘗試建立快取規則,但與現有規則發生衝突。 錯誤訊息指出已有快取規則具有指定目標存放庫的萬用字元。

若要解決此問題,您必須遵循下列步驟:

  1. 找出造成衝突的現有快取規則。 尋找使用目標存放庫萬用字元 (*) 的現有規則。

  2. 刪除與來源存放庫和萬用字元重疊的衝突快取規則。

  3. 使用所需的萬用字元和目標存放庫建立新的快取規則。

  4. 請仔細檢查快取設定,確保新規則已正確套用,而且沒有其他衝突的規則。

上游支援

成品快取目前支援下列上游登錄:

上游登錄 支援 可用性
Docker Hub (英文) 同時支援已驗證的提取和未經驗證的提取。 Azure CLI、Azure 入口網站
Microsoft 成品登錄 僅支援未經驗證的提取。 Azure CLI、Azure 入口網站
ECR 公用 僅支援未經驗證的提取。 Azure CLI、Azure 入口網站
GitHub Container Registry 同時支援已驗證的提取和未經驗證的提取。 Azure CLI、Azure 入口網站
Nvidia 同時支援已驗證的提取和未經驗證的提取。 Azure CLI
Quay 同時支援已驗證的提取和未經驗證的提取。 Azure CLI、Azure 入口網站
registry.k8s.io 同時支援已驗證的提取和未經驗證的提取。 Azure CLI
Google Container Registry 同時支援已驗證的提取和未經驗證的提取。 Azure CLI