用途:提供容器镜像安全的完整工作流——扫描、分析、加固、验证,适用于使用 Azure 容器注册表(ACR)与 Trivy 的镜像构建与 CI 场景。
主要能力:
- 基础镜像导入 ACR,规避 Docker Hub 限流:az acr import --name <registry> --source docker.io/<image>:<tag> --image <local-path>/<image>:<tag>,并用 az acr repository show 验证。
- 使用 ACR 构建:az acr build --registry <registry> --image <repo>:<tag> -f Dockerfile .。注意 ACR 构建器不支持 COPY heredoc、BuildKit 的 RUN --mount 等特性,多平台需 --platform。
- Trivy 扫描:可经 ACR Task 运行(先把 Trivy 导入 ACR,再用 az acr run --registry <registry> --cmd "...trivy:latest image --severity HIGH,CRITICAL <image>" /dev/null),也可本地 trivy image 或对 Dockerfile 执行 trivy config。
- CVE 分析:将 CRITICAL/HIGH 分为可自行修复、上游修复、系统级待补丁、will_not_fix 四类,并给出 JSON 结果提取示例。
- Dockerfile 加固:固定版本(用 ARG 管理)、SSH 仅密钥认证、非 root 运行、减少层、清理 apt 缓存、不写入密钥、校验下载、只读文件系统。
- 重建并复扫,对比修复前后 CRITICAL 数量,附验证清单。
使用方式:按“导入基础镜像→构建→Trivy 扫描→分析 CVE→加固 Dockerfile→重建→复扫→验证”顺序执行;限流时可等待约 15 分钟或使用带认证的 Docker Hub 账号导入。
限制:依赖 Azure ACR 与 Trivy;本地扫描需 Docker 守护进程;ACR 构建器存在上述功能限制;资料未提供具体收费、价格与效果数据。