0

我想使用 aws cli 在此处列出可用的图像:https ://gallery.ecr.aws/lambda/nodejs

当我尝试以下命令时:

aws ecr-public describe-image-tags --repository-name lambda/nodejs

我收到此错误:

User: arn:aws:sts::<my-session> is not authorized to perform: \
ecr-public:DescribeImageTags on resource: arn:aws:ecr-public::<my-account>:repository/lambda/nodejs

我如何指定 aws 公共存储库,而不是我自己的一个?

api文档提到了一个选项--registry-id,提供一个帐户ID,或者如果留空“..默认公共注册表被假定”,但似乎我的帐户信息仍在插入中。

问:有人可以提供一个命令的工作示例,列出Amazon ECR Public Gallery中存储库的图像标签面板中的每个(或第一个分页)标签吗?

4

2 回答 2

2

在撰写本文时,这只能通过访问 ECR 公共画廊找到。无法以编程方式在 ECR Public 中为您未明确授予 API 访问权限的存储库获取标签列表。这是相关的路线图项目https://github.com/aws/containers-roadmap/issues/1262

于 2021-02-07T01:33:28.270 回答
0

实际上,AWS CLI 支持Public Repositories您创建的与您的账户相关联的内容。就像我创建了一个名为的存储库randomname,我能够在其下列出图像。

$ aws ecr-public describe-images --repository-name randomname
{
    "imageDetails": [...]
}

Amazon ECR 公共注册表

您可以使用公共注册表来管理由 Docker 和开放容器倡议 (OCI) 映像组成的公共映像存储库。每个 AWS 账户都提供了一个默认的公共和私有 Amazon ECR 注册表

更具体地说,您在AWS Console

在此处输入图像描述

在此处输入图像描述

于 2021-02-04T20:59:22.077 回答