Amazon Elastic Container Registry(ECR)是一种完全托管的 Docker 容器注册表,开发人员可使用它轻松存储、管理和部署 Docker 容器映像。 可以将 Amazon ECR 和 Amazon Elastic Container Service(ECS) 结合使用,以便在开发、测试和生产环境下实现安全轻松的协作和部署。Elastic Container Registry(ECR)的名称直接体现了其核心功能,"Elastic" 强调其弹性扩展能力,可随容器部署规模自动调整存储与计算资源;"Container Registry" 则明确其作为容器镜像(如 Docker、OCI 格式)存储与管理的核心定位。

ECR 提供四大核心能力。
镜像存储与版本控制:支持私有 / 公共存储库,通过标签管理镜像版本,保留历史版本以便回滚。
自动化生命周期策略:可设置规则自动清理旧镜像(如保留最近 10 个版本),降低存储成本。
漏洞扫描与合规:集成 Amazon Inspector 实时检测镜像中的 CVE 漏洞,生成修复建议。
跨区域复制:通过复制策略将镜像同步至多个 AWS 区域,支持全球容器部署。例如,金融企业可将核心应用镜像复制至纽约、东京区域,确保业务连续性。
ECR 的工作流程分为三步。
镜像推送:开发者通过 Docker CLI 或 AWS SDK 将构建的镜像推送至 ECR 存储库,镜像自动加密存储。
权限控制:基于 IAM 策略管理访问权限,如允许特定角色仅拉取开发环境镜像。
部署拉取:容器编排服务(如 ECS、EKS)从 ECR 拉取镜像并启动容器,拉取过程通过 HTTPS 加密传输。例如,电商应用更新时,ECS 任务定义指定从 ECR 拉取最新镜像,自动替换旧容器。
CI/CD 流水线集成:在 CodePipeline 中配置 ECR 作为镜像存储目标,实现代码提交后自动构建、扫描并推送镜像至 ECR。
微服务架构支持:为每个微服务创建独立 ECR 存储库,通过服务网格(如 App Mesh)管理跨服务镜像依赖。
混合云部署:将 ECR 镜像导出为 OCI 格式,部署至本地 Kubernetes 集群或边缘设备。
安全合规环境:医疗行业利用 ECR 的私有存储库和漏洞扫描功能,确保患者数据处理的容器镜像符合 HIPAA 要求。