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

标签 amazon-ecs amazon-ecr

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

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

我可以拥有一个存储库并推送 10 个带有“最新”标签的不同容器吗?

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

ECR overview

最佳答案

如果您想获得详细说明,我会查看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 ,因此不创建额外的存储库几乎没有什么好处。

关于amazon-ecs - ECR - 什么是注册表,什么是存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46230838/

相关文章:

amazon-web-services - ECS CFT错误: Encountered unsupported property links

elasticsearch - 使用 Terraform 配置 ECS、Elastic、SQS、Lambda

aws-cloudformation - 如何使用 CloudFormation 定义 ECR 生命周期策略

amazon-web-services - 如何在启用 MFA 的情况下将 Docker 镜像从 AWS ECR 拉取到 Minikube Kubernetes 集群

azure - 尝试在 Azure DevOps 管道 shell 中运行 "InvalidSignatureException"命令时获取 "aws ecr-get-login-password"

python - AWS ECS - 如何将任务的执行角色传递给 Boto3?

amazon-web-services - 升级 ecs 任务时 CFN 卡住

docker - 从容器内部获取自省(introspection)元数据

amazon-web-services - 如何在 Terraform 中为 Amazon ECR 创建 IAM 角色?

amazon-s3 - 从 VPC 终端节点到特定 ECR 存储库的 AWS 策略