Skip to content
返回云服务

AWS ECR 容器注册表

托管 Docker 注册表,IAM 认证、镜像扫描、生命周期策略和跨区域复制。

AWS入门

为什么

ECR 经 IAM 集成 ECS/EKS — 无 Docker Hub 凭证管理。镜像扫描找 CVE。生命周期策略自动清理旧镜像。$0.10/GB/月存储。

何时使用

任何 AWS 容器部署时用。避免公共镜像(用 Docker Hub)或多云(用 GHCR)。

如何做

1. 创建仓库 — aws ecr create-repository --repository-name my-app 2. 认证 — aws ecr get-login-password | docker login 3. 推送 — docker tag、docker push 123.dkr.ecr.us-east-1.amazonaws.com/my-app:v1 4. 扫描 — 推送时(基础/增强)、Inspector 深度 CVE 5. 生命周期 — 自动删未标记或旧镜像 6. 跨区域 — 复制到其他区域更快拉取 7. 拉取缓存 — 代理 Docker Hub、避免限流 8. 不可变标签 — 防覆盖、强制版本升级

示例

# 认证并推送 aws ecr get-login-password --region us-east-1 | \ docker login --username AWS --password-stdin 123.dkr.ecr.us-east-1.amazonaws.com docker tag my-app:latest 123.dkr.ecr.us-east-1.amazonaws.com/my-app:v1 docker push 123.dkr.ecr.us-east-1.amazonaws.com/my-app:v1 # 生命周期 — 保留最近 10 镜像 aws ecr put-lifecycle-policy --repository-name my-app --lifecycle-policy-text '{ "rules": [{ "rulePriority": 1, "description": "保留 10", "selection": { "tagStatus": "any", "countType": "imageCountMoreThan", "countNumber": 10 }, "action": { "type": "expire" } }] }'

常见问题

  • ⚠旧镜像累积 — 设生命周期策略、自动删未标记和旧
  • ⚠扫描发现被忽略 — CRITICAL CVE 时 CI 失败、非仅报告
  • ⚠跨区域拉取慢 — 复制到部署区域

最佳实践

  • ✓启用增强扫描 — Inspector 集成、更深 CVE 检测
  • ✓设生命周期策略 — 自动清理旧镜像、控制存储成本
  • ✓用不可变标签 — 防覆盖、确保可复现部署

常见问题解答

什么是AWS ECR 容器注册表?它解决什么问题?

托管 Docker 注册表,IAM 认证、镜像扫描、生命周期策略和跨区域复制。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手AWS ECR 容器注册表?

两步即可跑通:① 创建仓库 — aws ecr create-repository --repository-name my-app;② 认证 — aws ecr get-login-password | docker login。建议先用免费套餐验证流程,再接入生产环境。

AWS ECR 容器注册表 最容易踩的坑是什么?

最高频的问题是:旧镜像累积 — 设生命周期策略、自动删未标记和旧。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

AWS ECR 容器注册表 的最佳实践有哪些?

AWS ECR 容器注册表 的最佳实践包括:启用增强扫描 — Inspector 集成、更深 CVE 检测;设生命周期策略 — 自动清理旧镜像、控制存储成本;用不可变标签 — 防覆盖、确保可复现部署。其中首条「启用增强扫描 — Inspector 集成、更深 CVE 检测」应作为团队默认规范写入 IaC 模板。

AWS ECR 容器注册表 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。AWS ECR 容器注册表 多数提供免费套餐,先在免费额度内验证再放量。