对 Amazon 中的直通缓存问题进行故障排除 ECR - 亚马逊 ECR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 Amazon 中的直通缓存问题进行故障排除 ECR

使用拉取缓存规则拉取上游镜像时,您可能会收到以下常见错误。

存储库不存在

表明存储库不存在的错误通常是由您的 Amazon ECR 私有注册表中不存在存储库或未向IAM委托人授予提取上游图像的ecr:CreateRepository权限造成的。要解决此错误,您应验证拉取命令URI中的存储库是否正确,是否已向拉取上游映像的IAM委托人授予所需的IAM权限,或者在上游映像拉取之前,在您的 Amazon ECR 私有注册表中创建了要推送的上游映像的存储库。有关所需IAM权限的更多信息,请参阅 IAM将上游注册表与 Amazon ECR 私有注册表同步所需的权限

以下是此错误的示例。

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'
未找到请求的图片

表示无法找到图像的错误通常是由上游注册表中不存在的映像造成的,或者IAM委托人未获得提取上游图像的ecr:BatchImportUpstreamImage权限但存储库已在您的 Amazon ECR 私有注册表中创建。要解决此错误,您应验证上游图像和图像标签名称是否正确,并且该名称是否存在,并且已向提取上游图像的IAM委托人授予了所需的IAM权限。有关所需IAM权限的更多信息,请参阅IAM将上游注册表与 Amazon ECR 私有注册表同步所需的权限

以下是此错误的示例。

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 存储库中提取时,您必须在使用的存储库/library/中URI包含。例如,aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag。如果您省略 Docker Hub 官方映像的 /library/,则当您尝试使用缓存提取规则来提取映像时,系统将返回 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