docker scout sbom
描述 | 生成或显示镜像的软件物料清单 (SBOM) |
---|---|
用法 | docker scout sbom [IMAGE|DIRECTORY|ARCHIVE] |
描述
docker scout sbom
命令分析软件构件以生成软件物料清单 (SBOM)。
SBOM 包含镜像中所有软件包的列表。可以使用 --format
标志过滤命令的输出,以仅显示特定类型的软件包。
如果没有指定镜像,则使用最近构建的镜像。
支持以下构件类型:
- 镜像
- OCI 布局目录
- 由
docker save
创建的 Tarball 归档文件 - 本地目录或文件
默认情况下,该工具需要一个镜像引用,例如:
redis
curlimages/curl:7.87.0
mcr.microsoft.com/dotnet/runtime:7.0
如果要分析的构件是 OCI 目录、Tarball 归档文件、本地文件或目录,或者如果要控制从何处解析镜像,则必须使用以下前缀之一:
image://
(默认) 使用本地镜像,或回退到注册表查找local://
使用本地镜像存储中的镜像(不进行注册表查找)registry://
使用注册表中的镜像(不使用本地镜像)oci-dir://
使用 OCI 布局目录archive://
使用由docker save
创建的 Tarball 归档文件fs://
使用本地目录或文件
选项
选项 | 默认值 | 描述 |
---|---|---|
--format | json | 输出格式 - list:镜像的软件包列表 - json:SBOM 的 JSON 表示形式 - spdx:SBOM 的 SPDX 表示形式 - cyclonedx:SBOM 的 CycloneDX 表示形式 |
--only-package-type | 用逗号分隔的软件包类型列表(例如 apk、deb、rpm、npm、pypi、golang 等) 只能与 --format list 一起使用 | |
-o, --output | 将报告写入文件 | |
--platform | 要分析的镜像的平台 | |
--ref | 如果提供的 Tarball 包含多个引用,则要使用的引用。 只能与 archive 一起使用 |
示例
显示软件包列表
$ docker scout sbom --format list alpine
仅显示特定类型的软件包
$ docker scout sbom --format list --only-package-type apk alpine
以 JSON 格式显示完整的 SBOM
$ docker scout sbom alpine
显示最近构建镜像的完整 SBOM
$ docker scout sbom
将 SBOM 写入文件
$ docker scout sbom --output alpine.sbom alpine