成品快取的疑難排解指南
在本教學課程中,您可以藉由識別徵兆、原因和潛在解決方案,來針對啟用成品快取功能的登錄進行常見問題疑難排解,以更有地使用此功能。
徵兆和原因
可能包含下列一或多項問題:
快取的映像不會出現在真實存放庫中
認證狀態不良
無法建立快取規則
無法使用萬用字元建立快取規則
可能的解決方案
快取的映像不會出現在即時存放庫中
如果您有 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 個快取規則。
建議您刪除任何不必要的快取規則,以避免達到限制。
深入了解快取術語。
無法使用萬用字元建立快取規則
如果您嘗試建立快取規則,但與現有規則發生衝突。 錯誤訊息指出已有快取規則具有指定目標存放庫的萬用字元。
若要解決此問題,您必須遵循下列步驟:
找出造成衝突的現有快取規則。 尋找使用目標存放庫萬用字元 (*) 的現有規則。
刪除與來源存放庫和萬用字元重疊的衝突快取規則。
使用所需的萬用字元和目標存放庫建立新的快取規則。
請仔細檢查快取設定,確保新規則已正確套用,而且沒有其他衝突的規則。
上游支援
成品快取目前支援下列上游登錄:
警告
客戶必須產生認證集從 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 |