使用缓存提取规则 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用缓存提取规则

为上游注册表创建缓存提取规则后,对于需要身份验证的上游注册表,您可以验证该规则。然后,您只需使用 Amazon ECR 存储库 URI 提取上游映像,之后映像将在 Amazon ECR 私有注册表中缓存。

在开始使用缓存提取规则之前,请确保您拥有适当的 IAM 权限。有关更多信息,请参阅 所需的 IAM 权限

验证缓存提取规则

创建缓存提取规则后,您可以验证该规则是否正常运行。在验证缓存提取规则时,Amazon ECR 会与上游注册表建立网络连接,验证它是否可以访问包含上游注册表凭证的 Secrets Manager 密钥,以及身份验证是否成功。

以下步骤演示如何使用 Amazon ECR 控制台验证缓存提取规则。

  1. 打开 Amazon ECR 控制台:https://console.aws.amazon.com/ecr/

  2. 在导航栏中,选择包含要验证的缓存提取规则的区域。

  3. 在导航窗格中,选择 Private registry(私有注册表)、Pull through cache(缓存提取)。

  4. 缓存提取配置页面上,选择要验证的缓存提取规则。然后,使用操作下拉菜单并选择查看详细信息

  5. 在缓存提取规则详细信息页面上,使用操作下拉菜单并选择验证身份验证。Amazon ECR 将显示带结果的横幅。

  6. 对要验证的每个缓存提取规则重复上述步骤。

validate-pull-through-cache- Amazon CLI rule 命令用于验证 Amazon ECR 私有注册表的直通缓存规则。以下示例使用 ecr-public 命名空间前缀。将该值替换为要验证的缓存提取规则的前缀值。

aws ecr validate-pull-through-cache-rule \ --ecr-repository-prefix ecr-public \ --region us-east-2

在响应中,isValid 参数指示验证是否成功。如果为 true,则表示 Amazon ECR 能够访问上游注册表,并且身份验证成功。如果为 false,则表示存在问题且验证失败。failure 参数指示原因。

使用缓存提取规则来提取映像

以下示例演示在使用缓存提取规则来提取映像时要使用的命令语法。如果您在使用拉取缓存规则拉取上游镜像时收到错误,请参阅 排查缓存提取问题,以查看最常见的错误以及如何解决这些错误。

注意

以下示例使用使用的默认 Amazon ECR 存储库命名空间值。 Amazon Web Services Management Console 确保您使用已配置的 Amazon ECR 私有存储库 URI。

docker pull aws_account_id.dkr.ecr.region.amazonaws.com/ecr-public/repository_name/image_name:tag
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/kubernetes/repository_name/image_name:tag
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/quay/repository_name/image_name:tag

对于 Docker Hub 官方映像:

docker pull aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag
注意

对于 Docker Hub 官方映像,必须包含 /library 前缀。对于所有其他 Docker Hub 存储库,应省略 /library 前缀。

对于所有其他 Docker Hub 映像:

docker pull aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/repository_name/image_name:tag
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/github/repository_name/image_name:tag
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/azure/repository_name/image_name:tag