ECR - 什么是注册表,什么是存储库

时间:2017-09-15 02:32:32

标签: amazon-ecs amazon-ecr

尝试熟悉ECR - 我知道您应该能够将任意数量的存储库推送到Docker注册表。

然而,ECR有一个“存储库”的概念。 所以,如果我有10个不同的容器组成我的应用程序,这是否意味着我需要在注册表中的10个存储库?

我可以拥有一个存储库,并使用他们的最新版本推送10个不同的容器。标签

目前,如果我使用相同的{registry} / {repository_name}模式标记另一个图像,它会替换我的其他图像上的latest标记:

ECR overview

1 个答案:

答案 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,所以不创建额外的回购没什么好处。