如何使 ECR 存储库公开?

Posted

技术标签:

【中文标题】如何使 ECR 存储库公开?【英文标题】:How to make ECR repository public? 【发布时间】:2018-01-19 22:29:25 【问题描述】:

如何公开 ECR 存储库以供任何人使用。我在权限部分看到策略文档是我应该进行权限更改的地方。但它不起作用,我仍然需要通过 IAM 用户的身份验证。

【问题讨论】:

【参考方案1】:

Amazon ECR 目前支持私有图像。请参阅官方 AWS ECR 常见问题解答:

https://aws.amazon.com/ecr/faqs/

问:Amazon ECR 可以托管公共容器映像吗?

Amazon ECR 目前支持私有图像。但是,使用基于 IAM 资源的权限,您可以为每个存储库配置策略以允许访问 IAM 用户、角色或其他 AWS 账户。

您可以使用 Docker Hub 或其他公共存储库。

https://hub.docker.com/

【讨论】:

是的,我有一个 dockerhub 帐户。对于其他一些项目,我需要 ECS 回购。对我来说唯一的问题是当我需要从中提取时让“获取 ecr 登录”的东西工作。然后,当我这样做时,它会提示再次登录。我无法自动化的东西。有什么想法吗? ECR 的令牌过期 12 小时。因此,如果您想在脚本中使用docker pull,请在每次拉取之前登录。 $(aws ecr get-login) && docker pull.【参考方案2】:

查看https://github.com/monken/aws-ecr-public。这是一种提供无服务器 API 网关以公开 ECR 存储库的解决方案。它还支持自定义域。

【讨论】:

【参考方案3】:

亚马逊刚刚发布了对公共 ECR 存储库的支持!

https://aws.amazon.com/blogs/aws/amazon-ecr-public-a-new-public-container-registry/

【讨论】:

以上是关于如何使 ECR 存储库公开?的主要内容,如果未能解决你的问题,请参考以下文章

使 Sonatype Nexus 存储库可公开访问,以便能够下载带有 maven Central 等 URL 的工件

如何从私人 gitlab 存储库创建公开发布?

如何使用 Spring Boot 存储库配置公开超类的 Id

如何禁用 Spring Data REST 存储库的默认公开?

如何从开源 Hadoop 构建 deb/rpm 存储库或由 ambari 安装的公开可用的 HDP 源代码

将新映像推送到 ECR 存储库时如何自动部署到 ECS Fargate