docker 侦察兵比较
描述 | 比较两个图像并显示差异(实验) |
---|---|
用法 | docker scout compare --to IMAGE|DIRECTORY|ARCHIVE [IMAGE|DIRECTORY|ARCHIVE] |
别名 | docker scout diff |
该命令是实验性的
实验性功能旨在用于测试和反馈,因为它们的功能或设计可能会在版本之间发生变化而不发出警告,或者可能在未来的版本中完全删除。
描述
该docker scout compare
命令分析两个图像并显示比较。
此命令是实验性的,其行为将来可能会改变
该命令的预期用途是比较同一图像的两个版本。例如,当构建新映像并将其与生产中运行的版本进行比较时。
如果未指定图像,则使用最近构建的图像作为比较目标。
支持以下工件类型:
- 图片
- OCI 布局目录
- Tarball 档案,由以下人员创建
docker save
- 本地目录或文件
默认情况下,该工具需要图像参考,例如:
redis
curlimages/curl:7.87.0
mcr.microsoft.com/dotnet/runtime:7.0
如果您要分析的工件是 OCI 目录、tarball 存档、本地文件或目录,或者如果您想控制解析图像的位置,则必须在引用中添加以下前缀之一:
image://
(默认)使用本地映像,或回退到注册表查找local://
使用本地图像存储中的图像(不进行注册表查找)registry://
使用注册表中的映像(不要使用本地映像)oci-dir://
使用 OCI 布局目录archive://
使用 tarball 存档,由以下人员创建docker save
fs://
使用本地目录或文件
选项
选项 | 默认 | 描述 |
---|---|---|
-x, --exit-on | 逗号分隔的条件列表,如果更糟,则操作步骤失败,选项包括:漏洞、策略 | |
--format | text | 生成的漏洞报告的输出格式: - text:默认输出,纯文本,根据终端带或不带颜色 - markdown:Markdown 输出 |
--hide-policies | 从输出中隐藏策略状态 | |
--ignore-base | 过滤掉从基础镜像引入的CVE | |
--ignore-unchanged | 过滤掉未改变的包 | |
--multi-stage | 显示多阶段 Docker 构建的包 | |
--only-fixed | 过滤可修复的 CVE | |
--only-package-type | 逗号分隔的包类型列表(如 apk、deb、rpm、npm、pypi、golang 等) | |
--only-severity | 以逗号分隔的严重性列表(严重、高、中、低、未指定),用于按以下条件筛选 CVE | |
--only-stage | 多阶段 Docker 构建阶段名称的逗号分隔列表 | |
--only-unfixed | 过滤到未修复的 CVE | |
--org | Docker组织的命名空间 | |
-o, --output | 将报告写入文件 | |
--platform | 图像分析平台 | |
--ref | 如果提供的 tarball 包含多个引用,则要使用的引用。 只能与存档一起使用 | |
--to | 要比较的图像、目录或存档 | |
--to-env | 要比较的环境名称 | |
--to-latest | 最新处理的图像进行比较 | |
--to-ref | 如果提供的 tarball 包含多个引用,则要使用的引用。 只能与存档一起使用。 |
例子
将最近构建的图像与最新标签进行比较
$ docker scout compare --to namespace/repo:latest
将本地构建与注册表中的相同标签进行比较
$ docker scout compare local://namespace/repo:latest --to registry://namespace/repo:latest
忽略基础图像
$ docker scout compare --ignore-base --to namespace/repo:latest namespace/repo:v1.2.3-pre
生成 Markdown 输出
$ docker scout compare --format markdown --to namespace/repo:latest namespace/repo:v1.2.3-pre
只比较maven包,只显示maven包的关键漏洞
$ docker scout compare --only-package-type maven --only-severity critical --to namespace/repo:latest namespace/repo:v1.2.3-pre
显示两个图像的所有策略结果
docker scout compare --to namespace/repo:latest namespace/repo:v1.2.3-pre