Amazon Elastic Container Registry (Amazon ECR) 与 Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Kubernetes Service (Amazon EKS) 集成,这意味着您可以使用任一编排工具为应用程序轻松存储并运行容器映像。您需要做的只是在您的任务或 Pod 定义中指定 Amazon ECR 存储库,以便 Amazon ECS 或 Amazon EKS 为您的应用程序检索适当的映像。
Amazon ECR 支持 Open Container Initiative(OCI)标准和 Docker 注册表 HTTP API V2。这让您能够使用 Docker CLI 命令(如 push、pull、list、tag)或您首选的 Docker 工具与 Amazon ECR 进行交互,从而维护现有开发工作流程。您可以从任意 Docker 环境 (不论在云中、本地还是本地计算机上) 轻松访问 Amazon ECR。Amazon ECR 让您能够将 Docker 容器映像和相关的 OCI 构件存储到您的存储库。
您可以发现并使用供应商、开源项目和社区开发人员在 Amazon ECR 公有库上公开共享的容器软件。可在库中找到操作系统、AWS 发布的映像、Kubernetes 附加功能和各种文件(如 Helm 图表)等热门基础映像。您无需使用 AWS 账户即可搜索或提取公有映像,但是使用 AWS 账户能够更方便快速地使用公有容器软件。
Amazon ECR 将会存储您创建的容器以及您通过 AWS Marketplace 购买的任何容器软件。 适用于 Container 的 AWS Marketplace 为高性能计算、安全性和开发人员工具以及管理、分析和保护容器应用程序的软件即服务(SaaS)产品提供经验证的容器软件。
Amazon ECR 将您的容器映像和构件存储在 Amazon Simple Storage Service(S3)中。Amazon S3 可达到 99.999999999%(11 个 9)的数据持久性,因为 S3 会自动创建并存储跨多个系统的所有 S3 对象的副本。这意味着您的数据在需要时可用,并可抵御故障、错误和威胁。对于高可用性应用程序,Amazon ECR 还能自动将您的数据复制到多个 AWS 区域。
凭借 Amazon ECR,您可以使用命名空间在注册表中定义并整理存储库。这将允许您根据团队的现有工作流程整理存储库。您可以通过资源级策略设置其他用户可在您存储库上执行的 API 操作(如 create、list、describe、delete 和 get),让您轻松地与其他用户和 AWS 账户共享存储库。您可以与世界上的任何人轻松共享您的容器构件,只需将其存储在公有存储库中即可。
Amazon ECR 使用 AWS Identity and Access Management (IAM) 来控制和监控哪些人以及哪些对象(例如 EC2 实例)可以访问您的容器映像。通过 IAM,您可以定义策略,以便允许同一 AWS 账户或其他账户中的用户访问您位于私有存储库中的容器映像。您还可以为不同用户和角色指定不同的权限(例如,推送、提取或完全管理员权限),从而进一步改进这些策略。世界上的任何人都能够访问您存储在公有数据库中,供全球协作的容器映像。
您可以通过 HTTPS 将容器映像传输到 Amazon ECR,或者从其中传出映像。您的映像还能够使用 Amazon S3 服务器端加密自动实现静态加密。Amazon ECR 还让您选择由 AWS Key Management Service (AWS KMS) 管理的您自己的密钥,以加密静态映像。
Amazon ECR 能够与第三方开发人员工具集成。您可以将 Amazon ECR 集成到连续的集成和交付流程中,以维护现有的开发工作流程。请访问我们的合作伙伴页面,了解更多关于第三方集成的信息。
使用 Amazon ECR 的拉式缓存存储库,您可以检索、存储和同步存储在可公开访问的容器注册表中的容器工件。它们可提供您需要的高下载速率,以及您依赖的可用性、安全性和规模。通过频繁的注册表同步和无需管理其他工具,拉式缓存存储库可以帮助您保持公共注册表的容器映像最新信息。