Amazon Elastic Container Registry (ECR) 是完全托管的容器注册表,使您能够在任何地方轻松存储、管理、共享和部署您的容器映像和构件。Amazon ECR 使您无需操作自己的容器注册表,或使您不必为扩展底层基础架构而感到担心。Amazon ECR 将您的映像存储在高度可用、高性能的基础架构中,使您能够为容器应用程序可靠地部署映像。您可以与您的组织私密地共享容器软件,或在全世界公开发布供任何人发现和下载。例如,开发人员可以在 ECR 公有库中搜索地理位置复制的操作系统映像,以获得高可用性和更快的下载速度。Amazon ECR 支持与 Amazon Elastic Kubernetes Service (EKS)、Amazon Elastic Container Service (ECS) 和 AWS Lambda 一起使用,可简化您从开发到生产的工作流,还支持与 AWS Fargate 一起使用,以实现一键式部署。或者,您可以为您自己的容器环境使用 ECR 。与 AWS Identity and Access Management (IAM) 集成使您可以对每个存储库进行资源级别的控制。使用 ECR 没有前期费用,也无需承诺。您只需为存储库中存储的数据量以及传输到 Internet 的数据量付费。
优势
利用完全托管的注册表,减少您的工作量
使用 Amazon Elastic Container Registry,您便不再需要为支持容器注册表而运营和扩展基础设施。无需安装和管理任何软件,也无需扩展基础设施。只需将您的容器映像放入 Amazon ECR,然后在需要部署时再使用任何容器管理工具取回该映像即可。
安全共享和下载容器映像
Amazon Elastic Container Registry 通过 HTTPS 传输您的容器映像,并自动对静态映像进行加密。您可以使用 AWS Identity and Access Management (IAM) 用户和角色配置策略,以管理权限并控制对映像的访问,无需直接在 EC2 实例上管理凭证。
提供快速和高度可用的访问
Amazon Elastic Container Registry 具有冗余、持久且高度可扩展的架构。您的容器映像高度可用且可访问,这使您能够为应用程序可靠部署新的容器。您可以可靠地分配公有容器映像以及 Helm 图表等相关文件和策略配置,供任何开发人员使用。ECR 自动将容器软件复制到多个 AWS 区域,以减少下载时间和提高可用性。
简化您的部署工作流
Amazon Elastic Container Registry 与 Amazon EKS、Amazon ECS、AWS Lambda 和 Docker CLI 集成,使您能够简化开发和生产工作流。您可以使用 Docker CLI 轻松将容器映像推送到 Amazon ECR,并且集成的 AWS 服务可以直接将其取回进行生产部署。发布容器软件正如在软件开发人员的流程中使用 CI/CD 工作流中的单一命令那样简单。
工作原理


“在 Pinterest,我们使用 Amazon Elastic Container Registry (ECR) 来管理我们的 Docker 容器映像。我们使用 ECR 的映像扫描功能,以帮助我们改善容器映像的安全性。ECR 扫描映像,查找一系列操作系统的漏洞,并让我们构建工具以针对结果采取行动。”
Cedric Staub,Pinterest 工程经理

在 Blackboard,我们的使命是促进全球学生、教育者和机构的学习。为了更好地服务于客户,我们使用 ECR,因为它为 Blackboard 提供了一个稳定和安全的容器注册表,用于托管第一方和第三方映像。ECR 提供其他注册表无法维持的高可用性和运行时间,同时提供完全托管的解决方案,由此简化了我们在 Blackboard 的工作流。”
Joel Snook,开发运维工程部主管

“Snowflake 决定将映像复制到 ECR,这是一种完全托管的 Docker 容器注册表,提供了用于存储映像的可靠本地注册表。使用本地注册表的好处是它并非为 Joshua 所独有;Snowflake 集群所需的所有平台组件都可以缓存在本地 ECR 注册表中。Snowflake 使用 AWS PrivateLink,来将所有从 ECR 传输到 workers 节点的网络流量保持在 AWS 网络内。它还解决了使用未经身份验证的请求从公有注册表提取映像的速率限制问题,同时解除了其他集群节点提取关键映像进行操作的阻塞。”
Brian Nutt,Snowflake 高级软件工程师
了解有关 Amazon ECR 的更多信息