用途
该技能旨在帮助用户跨多种容器镜像仓库(包括公有云和自托管)存储、管理和分发容器镜像。适用于推送和拉取镜像、配置仓库认证、设置镜像保留策略、管理私有仓库、实施镜像扫描与安全等场景。
主要能力
- 多仓库支持:涵盖 Docker Hub、Amazon ECR、Azure Container Registry (ACR)、Google Container Registry/Artifact Registry、GitHub Container Registry (GHCR),以及自建 Registry 和 Harbor。
- 认证配置:提供各仓库的登录命令,包括使用令牌、服务主体、凭据助手等方式。
- 镜像推送与拉取:给出打标签、推送和拉取镜像的示例命令。
- 生命周期与保留策略:展示如何创建 ECR 生命周期策略、ACR 保留策略、Artifact Registry 清理策略等。
- 仓库策略:如 ECR 跨账号访问策略。
- 地理复制:ACR 地理复制配置。
- 镜像安全:漏洞扫描(如 ECR 推送时扫描)、镜像签名(Docker Content Trust)等示例。
- 自建仓库部署:使用 Docker 运行 Registry 2,或安装 Harbor(含 Trivy 扫描和 ChartMuseum)。
- 常见问题排查:认证过期、镜像未找到、推送权限拒绝、Docker Hub 速率限制等。
- 最佳实践:启用漏洞扫描、实施生命周期策略、使用不可变标签、配置跨区域复制、使用服务账号认证、启用审计日志、实施镜像签名、使用拉取缓存等。
使用方式
- 确认已安装 Docker 或 Podman,以及对应云平台的 CLI 工具(AWS CLI、az、gcloud),并具备适当的 IAM 权限。
- 根据目标仓库选择相应的认证方式登录。
- 使用提供的命令进行镜像打标签、推送、拉取。
- 按需配置生命周期策略、仓库策略、地理复制、漏洞扫描和镜像签名。
- 对于自建仓库,可使用 Docker 运行 Registry 或安装 Harbor。
适用场景
- 在 CI/CD 流程中推送和拉取镜像。
- 管理多环境(开发、测试、生产)的镜像仓库。
- 设置镜像保留策略以控制存储成本。
- 实现跨账号或跨区域的镜像访问与复制。
- 加强容器镜像供应链安全(扫描、签名)。
限制
- 该技能提供的指导会在真实环境中执行操作:在应用任何更改前,必须确认目标、影响范围和回滚计划。
- 未经明确批准,不得部署到生产环境。
- 本文档为仅文档导入,未捆绑上游脚本和模板。
- 部分示例(如 ACR 保留策略和地理复制)需要受支持的 SKU;上述 Standard 设置并未启用所有后续功能。
- Google 清理策略文件需要当前 CLI 架构;使用前需验证示例对象。
- Harbor 归档/标志和 Docker Content Trust 是历史示例,并非通用的当前签名说明。
- 仅 TLS 不足以授权仓库客户端:在网络暴露前需配置认证/访问控制。
- 不要同时运行同名的仓库示例。
- 对于 ACR,没有通用的
az acr run-scan命令;需通过支持的订阅工作流启用/配置 Microsoft Defender for Containers/registries,然后检查结果。