對 Amazon ECR 中的提取快取問題進行故障診斷 - Amazon ECR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

對 Amazon ECR 中的提取快取問題進行故障診斷

在使用提取快取規則提取上游映像時,以下是您可能會收到的最常見錯誤。

儲存庫不存在

指示儲存庫不存在的錯誤大多是因為儲存庫不存在於您的 Amazon ECR 私有登錄檔中,或是因為未授予 ecr:CreateRepository 許可給提取上游映像的 IAM 主體。若要解決此錯誤,您應該確認您提取命令中的儲存庫 URI 正確,已授予所需要的 IAM 許可給提取上游映像的 IAM 主體,或者在進行上游映像提取之前已在您的 Amazon ECR 私有登錄檔中建立了要將上游映像推送到的儲存庫。如需所需 IAM 許可的詳細資訊,請參閱 將上游登錄檔與 Amazon ECR 私有登錄檔同步所需的 IAM 許可

以下為此錯誤的範例。

Error response from daemon: repository 111122223333.dkr.ecr.us-east-1.amazonaws.com/ecr-public/amazonlinux/amazonlinux not found: name unknown: The repository with name 'ecr-public/amazonlinux/amazonlinux' does not exist in the registry with id '111122223333'
找不到請求的映像

指示找不到映像的錯誤大多是因為映像不存在於上游登錄檔中,或是因為未授予 ecr:BatchImportUpstreamImage 許可給提取上游映像的 IAM 主體,但已在您的 Amazon ECR 私有登錄檔中建立了儲存庫。若要解決此錯誤,您應該確認上游映像和映像標籤名稱正確,且其已存在且已將所需要的 IAM 許可授予提取上游映像的 IAM 主體。如需所需 IAM 許可的詳細資訊,請參閱 將上游登錄檔與 Amazon ECR 私有登錄檔同步所需的 IAM 許可

以下為此錯誤的範例。

Error response from daemon: manifest for 111122223333.dkr.ecr.us-east-1.amazonaws.com/ecr-public/amazonlinux/amazonlinux:latest not found: manifest unknown: Requested image not found
403 從 Docker Hub 儲存庫提取時禁止

從標記為 Docker 官方映像的 Docker Hub 儲存庫中提取時,您必須在您使用的 URI 中包含 /library/。例如 aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag。如果您省略 /library/ Docker Hub 官方映像的 ,當您嘗試使用提取快取規則提取映像時,將會傳回403 Forbidden錯誤。如需詳細資訊,請參閱在 Amazon ECR 中使用提取快取規則提取映像

以下為此錯誤的範例。

Error response from daemon: failed to resolve reference "111122223333.dkr.ecr.us-west-2.amazonaws.com/docker-hub/amazonlinux:2023": pulling from host 111122223333.dkr.ecr.us-west-2.amazonaws.com failed with status code [manifests 2023]: 403 Forbidden