尝试熟悉ECR - 我知道您应该能够将任意数量的存储库推送到Docker注册表。
然而,ECR有一个“存储库”的概念。 所以,如果我有10个不同的容器组成我的应用程序,这是否意味着我需要在注册表中的10个存储库?
我可以拥有一个存储库,并使用他们的最新版本推送10个不同的容器。标签
目前,如果我使用相同的{registry} / {repository_name}模式标记另一个图像,它会替换我的其他图像上的latest
标记:
答案 0 :(得分:9)
如果您想获得详细说明,我会查看What Is Amazon EC2 Container Registry?页面,其中详细介绍了这些组件,但两者之间存在高度差异:每个帐户有一个注册表,每个注册表可以包含几个存储库。 每个存储库可以包含多个图像。图像可以有多个标签,标签每个存储库只能存在一次。
如果查看对存储库的引用:
[account].dkr.ecr.[region].amazonaws.com/[repository_name]
第一个/
前面的部分是您的注册表,第一个/
之后的部分是您的存储库。
所以您在这里遇到的是,通过将第二个图像推送到同一个存储库,您将更改latest
标记所指向的引用。
如果您想拥有多个不同的图像,每个图像都有自己的latest
标记,每个图像都应该拥有自己的存储库。根据ECR的定价you only pay based on the storage size and transfer from an ECR Repo,所以不创建额外的回购没什么好处。