共用方式為


成品快取的疑難排解指南

在本教學課程中,您可以藉由識別徵兆、原因和潛在解決方案,來針對啟用成品快取功能的登錄進行常見問題疑難排解,以更有地使用此功能。

徵兆和原因

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

可能的解決方案

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

如果您有 Azure Container Registry (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 的存取權

無法建立快取規則

快取規則限制

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

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

深入了解快取術語。

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

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

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

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

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

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

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

上游支援

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

警告

客戶必須產生認證集從 Docker Hub 取得內容。

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