Docker BuildKit v0.11 版本发布总结
Docker 发布了 BuildKit 的 0.11 版本,这是用于构建镜像的后端工具。此版本引入了多项新功能,包括认证创建、可重复构建改进以及云缓存后端支持。
新功能概述
认证创建支持:
软件物料清单 (SBOM):记录镜像中包含的组件信息。与
docker sbom类似,但允许将结果嵌入镜像中。可以通过--sbom标志生成 SBOM:$ docker buildx build --sbom=true -t <myorg>/<myimage> --push .SBOM 可以通过
imagetools子命令进行检查:$ docker buildx imagetools inspect moby/buildkit:latest --format '{{ range (index .SBOM "linux/amd64").SPDX.packages }}{{ println .name }}{{ end }}'SLSA 来源证明:SLSA(供应链软件制品等级)是一个安全框架,提供与供应链安全相关的标准和控件。来源证明是关于构建过程的元数据,包括所有权、来源、依赖项和构建过程信息。可以通过
--provenance标志生成来源证明:$ docker buildx build --provenance=true -t <myorg>/<myimage> --push .来源证明也可以通过
imagetools查询:$ docker buildx imagetools inspect moby/buildkit:latest --format '{{ json (index .Provenance "linux/amd64").SLSA.invocation.configSource }}'来源证明生成还支持可选模式参数,以包含更多详细信息。
可重复构建改进:
- 引入了
SOURCE_DATE_EPOCH构建参数,用于设置镜像配置和层中的时间戳,以解决因时间戳差异导致的可重复构建问题。
- 引入了
云缓存后端支持:
BuildKit 现在支持使用 Amazon S3 和 Azure Blob Storage 作为缓存后端,适用于 CI 管道等环境中,有助于提高性能。可以通过
--cache-to和--cache-from标志指定缓存后端:$ docker buildx build --push -t <user>/<image> \ --cache-to type=s3,region=<region>,bucket=<bucket>,name=<cache-image>[,parameters...] \ --cache-from type=s3,region=<region>,bucket=<bucket>,name=<cache-image> . $ docker buildx build --push -t <registry>/<image> \ --cache-to type=azblob,name=<cache-image>[,parameters...] \ --cache-from type=azblob,name=<cache-image>[,parameters...] .
更多信息
- 更多关于此版本的详细信息可以在 Docker 博客 和 更新日志 中找到。
- 问题和疑问可以在 Docker Community Slack 的 #buildkit 频道提出。
此版本通过引入认证创建、改进可重复构建以及支持云缓存后端,进一步增强了 Docker 镜像构建的功能和安全性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。