如何使 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 的工件
如何使用 Spring Boot 存储库配置公开超类的 Id
如何禁用 Spring Data REST 存储库的默认公开?