docker scout是docker官方集成的自动镜像安全扫描工具,推送镜像至docker hub后即自动触发扫描,结果在仓库页面“scout”标签中查看,支持ci/cd卡点(如docker scout cves --exit-code --severity critical,high),并提供cve详情、过期包识别及修复建议。
直接用 docker scout 或 trivy 这类工具扫描就行,不用等上线再查,越早发现越省事。
用 Docker Scout 自动扫描(适合团队和 CI/CD)
Docker Scout 是官方集成方案,推送镜像到 Docker Hub 后会自动触发扫描,结果直接在仓库页面的 “Scout” 标签里查看。
- 先登录账号:
docker login - 构建并推送镜像:
docker build -t yourname/app:latest . && docker push yourname/app:latest - 推送完成几秒后,就能在 Docker Hub 对应仓库页看到 CVE 数量、关键漏洞详情和修复建议
- 想在 CI 中卡住高危漏洞?加这行命令:
docker scout cves yourname/app:latest --exit-code --severity critical,high,命中就报错中断流程
用 Trivy 快速本地扫描(适合开发自查)
Trivy 轻量、开源、支持离线使用,装好就能扫本地镜像,不依赖网络或远程仓库。
- Ubuntu 安装示例:
sudo apt-get install -y aquasec-trivy - 扫描命令:
trivy image nginx:latest,会列出所有 CVE、组件名、当前版本、严重等级和修复建议 - 只看高危以上?加参数:
trivy image --severity HIGH,CRITICAL myapp:dev - 还能扫配置风险:
trivy config ./Dockerfile,检查是否用了 root、是否暴露了调试端口等
扫描结果怎么看重点
别被一堆 CVE 吓住,盯住三类信息就够了:
- Critical / High 漏洞数量:9.0–10.0 分必须立刻处理,7.0–8.9 分建议优先升级基础镜像或组件版本
- Outdated Packages:比如 alpine:3.16 已停止维护,即使没爆 CVE 也该换新版,否则迟早出问题
- Recommended Actions:报告里写的“Upgrade openssl to 3.0.13+”或“Use distroless base image”这类建议,基本就是最短路径修复方案
别只扫不修:配合 Dockerfile 改进才真正闭环
扫出来漏洞只是第一步,得让修复动作落地:
- 换更安全的基础镜像,比如把
FROM ubuntu:18.04改成FROM ubuntu:22.04或FROM gcr.io/distroless/static-debian12 - 删掉构建时不必要的包:
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* - 指定非 root 用户运行:
RUN adduser --disabled-password --gecos '' appuser && chown -R appuser /app,再加USER appuser











