ECR - 什么是注册表,什么是存储库
ECR - What is the registry and what is a repository
尝试熟悉 ECR - 我知道您应该能够将任意数量的存储库推送到 Docker 注册表。
然而,ECR有一个'repository'的概念。
所以如果我有 10 个不同的容器组成我的应用程序,这是否意味着我需要在注册表中有 10 个存储库?
我可以拥有一个存储库并推送 10 个带有 'latest' 标签的不同容器吗?
目前,如果我用相同的 {registry}/{repository_name} 模式标记另一张图片,它会替换我另一张图片上的 latest
标签:
如果你想获得详细的描述,我会查看 What Is Amazon EC2 Container Registry? 页面,其中详细描述了组件,但两者之间的高级区别是:Each帐户 有一个注册表,每个注册表 可以包含多个存储库。 每个存储库 可以包含多个图像。一个图像可以有多个标签,每个存储库一个标签只能存在一次。
如果您查看对存储库的引用:
[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,所以不创建额外的回购几乎没有什么好处。
尝试熟悉 ECR - 我知道您应该能够将任意数量的存储库推送到 Docker 注册表。
然而,ECR有一个'repository'的概念。 所以如果我有 10 个不同的容器组成我的应用程序,这是否意味着我需要在注册表中有 10 个存储库?
我可以拥有一个存储库并推送 10 个带有 'latest' 标签的不同容器吗?
目前,如果我用相同的 {registry}/{repository_name} 模式标记另一张图片,它会替换我另一张图片上的 latest
标签:
如果你想获得详细的描述,我会查看 What Is Amazon EC2 Container Registry? 页面,其中详细描述了组件,但两者之间的高级区别是:Each帐户 有一个注册表,每个注册表 可以包含多个存储库。 每个存储库 可以包含多个图像。一个图像可以有多个标签,每个存储库一个标签只能存在一次。
如果您查看对存储库的引用:
[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,所以不创建额外的回购几乎没有什么好处。