docker/buildkit-syft-scanner 镜像是将 Syft 扫描器 打包为 BuildKit SBOM 生成器 的工具,用于在 Docker 构建过程中集成软件物料清单(SBOM)扫描结果,并将其作为构建证明(attestation)与输出镜像关联。
该镜像实现了 BuildKit SBOM 扫描协议,可与 BuildKit 构建工具链无缝集成,为镜像构建流程提供自动化的 SBOM 生成能力。
buildctl 或支持 BuildKit 高级选项的构建工具调用。--opt 参数(如 buildctl)。在使用 buildctl 构建镜像时,通过 --opt attest:sbom=generator=... 参数指定本扫描器镜像,即可在构建过程中生成 SBOM 证明:
bashbuildctl build ... \ --output type=image,name=<目标镜像名称>,push=true \ --opt attest:sbom=generator=docker/buildkit-syft-scanner
| 参数 | 描述 | 示例值 |
|---|---|---|
attest:sbom=generator | 指定 SBOM 生成器镜像,需设置为 docker/buildkit-syft-scanner | generator=docker/buildkit-syft-scanner |
--output type=image,... | 输出配置,需包含 name=<目标镜像名称> 和 push=true(如需推送镜像) | type=image,name=myapp:latest,push=true |
构建并推送镜像 myapp:latest,同时生成 SBOM 证明:
bashbuildctl build \ --frontend dockerfile.v0 \ --local context=. \ --local dockerfile=. \ --output type=image,name=myapp:latest,push=true \ --opt attest:sbom=generator=docker/buildkit-syft-scanner
克隆项目仓库并进入目录:
bashgit clone [***] cd buildkit-syft-scanner
推荐启动本地临时 registry,用于推送开发镜像:
bashdocker run -d -p 5000:5000 --rm --name registry registry:2
使用 make dev 命令构建开发镜像并推送到本地 registry(需替换 <本地仓库地址> 为实际 registry 地址):
bashmake dev IMAGE=<本地仓库地址>/buildkit-syft-scanner:dev
示例(推送到本地 registry localhost:5000):
bashmake dev IMAGE=localhost:5000/buildkit-syft-scanner:dev
运行示例构建测试开发镜像功能:
bashmake examples IMAGE=localhost:5000/buildkit-syft-scanner:dev
通过 buildctl 使用开发镜像生成 SBOM:
bashbuildctl build ... \ --output type=image,name=<目标镜像名称>,push=true \ --opt attest:sbom=generator=<本地仓库地址>/buildkit-syft-scanner:dev
示例:
bashbuildctl build \ --frontend dockerfile.v0 \ --local context=. \ --local dockerfile=. \ --output type=image,name=myapp:dev,push=true \ --opt attest:sbom=generator=localhost:5000/buildkit-syft-scanner:dev
buildkit-syft-scanner 主要作为 BuildKit 与 Syft 之间的适配层,旨在保持代码精简。贡献通常更适合提交至上游项目(BuildKit 或 Syft)。若需为本项目贡献,请优先关注协议兼容性修复或文档改进。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429