Build 发行说明
本页面包含有关 Docker Buildx 的新特性、改进和错误修复的信息。
0.23.0
2025-04-15此版本的完整发布说明可在 GitHub 上。
新增
- 新的
buildx history export
命令可以将构建记录导出为一个捆绑包,该捆绑包可以导入到 Docker Desktop。docker/buildx#3073
改进
- 新的
--local
和--filter
标志允许在buildx history ls
中过滤历史记录。docker/buildx#3091 - Compose 兼容性已更新至 v2.6.0。docker/buildx#3080,docker/buildx#3105
- 在独立模式下支持 CLI 环境变量。docker/buildx#3087
错误修复
- 修复了 Bake 的
--print
输出中包含未转义变量的问题,这些变量可能导致后续的构建错误。docker/buildx#3097 - 修复了当指向另一个服务时,
additional_contexts
字段无法正常工作的问题。docker/buildx#3090 - 修复了空的验证块导致 Bake HCL 解析器崩溃的问题。docker/buildx#3101
0.22.0
2025-03-18此版本的完整发布说明可在 GitHub 上。
新增
- 新命令
buildx history import
允许您将构建记录导入到 Docker Desktop 中,以便在 构建 UI 中进行进一步调试。此命令需要安装 Docker Desktop。docker/buildx#3039
改进
- 现在可以在
history inspect
、history logs
和history open
命令中使用相对于最新记录的偏移量来打开历史记录(例如^1
)。docker/buildx#3049,docker/buildx#3055 - 在使用
--set
进行覆盖时,Bake 现在支持+=
运算符进行追加。docker/buildx#3031 - 如果可用,Docker 容器驱动程序会将 GPU 设备添加到容器中。docker/buildx#3063
- 在使用 Bake 进行覆盖时,现在可以设置注解。docker/buildx#2997
- 发布版本中现在包含 NetBSD 二进制文件。docker/buildx#2901
- 如果节点启动失败,
inspect
和create
命令现在会返回错误。docker/buildx#3062
错误修复
- 修复了当 containerd 镜像存储启用时,使用 Docker 驱动程序导致重复推送的问题。docker/buildx#3023
- 修复了
imagetools create
命令会推送多个标签的问题。现在只有最终的 manifest 通过标签推送。docker/buildx#3024
0.21.0
2025-02-19此版本的完整发行说明可在 GitHub 上查看。
新增
- 新增命令
buildx history trace
允许您在基于 Jaeger UI 的查看器中检查构建的 traces,并比较不同的 trace。 docker/buildx#2904
改进
- 历史记录检查命令
buildx history inspect
现在支持使用--format
标志进行自定义格式化,以及用于机器可读输出的 JSON 格式化。 docker/buildx#2964 - 在 build 和 bake 中支持 CDI 设备授权。 docker/buildx#2994
- 支持的 CDI 设备现在显示在构建器检查中。 docker/buildx#2983
- 使用 GitHub 缓存后端
type=gha
时,版本 2 或 API 的 URL 现在从环境变量中读取并发送到 BuildKit。版本 2 后端需要 BuildKit v0.20.0 或更高版本。 docker/buildx#2983, docker/buildx#3001
错误修复
- 使用
--progress=rawjson
时,避免不必要的警告和提示。 docker/buildx#2957 - 修复在使用
--on=error
时调试 shell 有时无法正常工作的回归问题。 docker/buildx#2958 - 修复在使用 Bake 定义中的未知变量时可能出现的 panic 错误。 docker/buildx#2960
- 修复
buildx ls
命令 JSON 格式化输出中的无效重复输出问题。 docker/buildx#2970 - 修复 bake 处理包含多个 registry 引用的 CSV 字符串缓存导入问题。 docker/buildx#2944
- 修复拉取 BuildKit 镜像时可能忽略错误的问题。 docker/buildx#2988
- 修复调试 shell 上暂停进度时的竞争条件问题。 docker/buildx#3003
0.20.1
2025-01-23此版本的完整发行说明可在 GitHub 上查看。
错误修复
- 修复
bake --print
输出中遗漏 attestations 的某些属性问题。 docker/buildx#2937 - 修复允许在缓存导入和导出值中使用逗号分隔的镜像引用字符串问题。 docker/buildx#2944
0.20.0
2025-01-20此版本的完整发行说明可在 GitHub 上查看。
注意
此版本的 buildx 默认启用
buildx bake
命令的文件系统授权检查。如果您的 Bake 定义需要读取或写入当前工作目录之外的文件,您需要使用--allow fs=<path|*>
允许访问这些路径。在终端上,您也可以通过提供的提示交互式批准这些路径。或者,您可以通过设置环境变量BUILDX_BAKE_ENTITLEMENTS_FS=0
来禁用这些检查。在 Buildx v0.19.0+ 中,此验证会生成警告,但从当前版本开始,它会生成错误。欲了解更多信息,请参阅参考文档。
新增
- 新增了
buildx history
命令,允许您处理已完成和正在运行的构建的构建记录。您可以使用这些命令列出、检查、移除您的构建,重放已完成构建的日志,并快速在 Docker Desktop Build UI 中打开您的构建以便进一步调试。这是此命令的早期版本,我们期望在未来版本中添加更多功能。 #2891, #2925
改进
- Bake: 定义现在支持新的对象表示法,用于之前需要 CSV 字符串作为输入的字段(
attest
,output
,cache-from
,cache-to
,secret
,ssh
)。 docker/buildx#2758, docker/buildx#2848, docker/buildx#2871, docker/buildx#2814 - Bake: 文件系统权限现在默认会报错。要禁用此行为,您可以设置
BUILDX_BAKE_ENTITLEMENTS_FS=0
。 docker/buildx#2875 - Bake: 从远程文件中推断 Git 认证令牌以进行构建请求。 docker/buildx#2905
- Bake: 添加了对
--list
标志的支持,用于列出目标和变量。 docker/buildx#2900, docker/buildx#2907 - Bake: 更新了默认定义文件的查找顺序,以使带有“override”后缀的文件后加载。 docker/buildx#2886
错误修复
- Bake: 修复了默认 SSH socket 的权限检查。 docker/buildx#2898
- Bake: 修复了组默认目标中缺失的默认目标。 docker/buildx#2863
- Bake: 修复了来自目标平台匹配的命名上下文。 docker/buildx#2877
- 修复了静默进度模式缺失的文档。 docker/buildx#2899
- 修复了加载层时缺失的最后进度信息。 docker/buildx#2876
- 在创建构建器之前验证 BuildKit 配置。 docker/buildx#2864
打包
- Compose 兼容性已更新到 v2.4.7。 docker/buildx#2893, docker/buildx#2857, docker/buildx#2829
0.19.1
2024-11-27此版本的完整发布说明可在 GitHub 上查看。
错误修复
- 回滚了 v0.19.0 中引入的一项变更,该变更对之前在 Bake 定义中需要 CSV 字符串作为输入的字段添加了新的对象表示法。由于在某些边缘情况下发现了向后不兼容问题,因此回滚了此增强功能。此功能现已推迟到 v0.20.0 版本。 docker/buildx#2824
0.19.0
2024-11-27此版本的完整发布说明可在 GitHub 上查看。
新增
当您的构建需要读写当前工作目录之外的文件时,Bake 现在要求您允许文件系统权限。 docker/buildx#2796, docker/buildx#2812。
要允许文件系统权限,请对
docker buildx bake
命令使用--allow fs.read=<path>
标志。此功能目前仅在使用本地 Bake 定义时报告警告,但从 v0.20 版本开始将生成错误。要在当前版本中启用错误,您可以设置
BUILDX_BAKE_ENTITLEMENTS_FS=1
。
改进
Bake 定义现在支持新的对象表示法,用于之前需要 CSV 字符串作为输入的字段。 docker/buildx#2758
注意
由于一个 bug,此增强功能在 v0.19.1 中被回滚。
Bake 定义现在允许为变量定义验证条件。 docker/buildx#2794
元数据文件的值现在可以包含 JSON 数组值。 docker/buildx#2777
改进了使用不正确标签格式时的错误消息。 docker/buildx#2778
FreeBSD 和 OpenBSD 的构建产物现已包含在发行版中。 docker/buildx#2774, docker/buildx#2775, docker/buildx#2781
错误修复
- 修复了打印包含空 Compose 网络的 Bake 定义时出现的问题。 docker/buildx#2790。
打包
- Compose 支持已更新至 v2.4.4。 docker/buildx#2806 docker/buildx#2780。
0.18.0
2024-10-31此版本的完整发布说明可在 GitHub 上查看。
新增
docker buildx inspect
命令现在可以显示使用 TOML 文件设置的 BuildKit 守护程序配置选项。 docker/buildx#2684docker buildx ls
命令的默认输出现在更加紧凑,通过压缩平台列表实现。可以使用新的--no-trunc
选项来显示完整列表。 docker/buildx#2138, docker/buildx#2717docker buildx prune
命令现在支持使用 BuildKit v0.17.0+ 构建器的新过滤器--max-used-space
和--min-free-space
。 docker/buildx#2766
改进
- 允许使用
BUILDX_CPU_PROFILE
和BUILDX_MEM_PROFILE
环境变量,通过pprof
捕获 CPU 和内存配置文件。 docker/buildx#2746 - 标准输入的 Dockerfile 最大大小已增加。 docker/buildx#2716, docker/buildx#2719
- 内存分配已减少。 docker/buildx#2724, docker/buildx#2713
docker buildx bake
命令的--list-targets
和--list-variables
标志不再需要初始化构建器。 docker/buildx#2763
错误修复
- 检查警告现在会打印出错的 Dockerfile 的完整文件路径,该路径相对于当前工作目录。 docker/buildx#2672
--check
和--call
选项的备用镜像已更新,以使用正确的引用。 docker/buildx#2705- 修复了实验模式下构建详情链接不显示的问题。 docker/buildx#2722
- 修复了 Bake 中无效目标链接的验证问题。 docker/buildx#2700
- 修复了运行无效命令时缺少错误消息的问题。 docker/buildx#2741
- 修复了
--call
请求中本地状态可能出现错误警告的问题。 docker/buildx#2754 - 修复了在 Bake 中使用链接目标时可能出现的权限问题。 docker/buildx#2701
- 修复了在以
sudo
运行 Buildx 后访问本地状态时可能出现的权限问题。 docker/buildx#2745
打包
- Compose 兼容性已更新至 v2.4.1。 docker/buildx#2760
0.17.1
2024-09-13此版本的完整发行说明可在 GitHub 上获取。
错误修复
- 如果 BuildKit 配置文件中已设置授权,则在创建构建器时,`docker-container` 和 `kubernetes` 驱动程序不会自动设置
network.host
授权标志。 docker/buildx#2685 - 当
network
字段为空时,在使用docker buildx bake --print
命令时,不打印该字段。 docker/buildx#2689 - 修复 WSL2 下的遥测 socket 路径。 docker/buildx#2698
0.17.0
2024-09-10此版本的完整发行说明可在 GitHub 上获取。
新增
- 为 Bake 添加
basename
、dirname
和sanitize
函数。 docker/buildx#2649 - 启用 Bake 授权支持,以允许在构建期间执行特权操作。 docker/buildx#2666
改进
- 引入 Bake 命令的 CLI 指标跟踪。 docker/buildx#2610
- 为所有构建命令添加
--debug
标志。之前,该标志仅在顶层docker
和docker buildx
命令上可用。 docker/buildx#2660 - 允许从标准输入进行构建,适用于多节点构建器。 docker/buildx#2656
- 改进
kubernetes
驱动程序初始化。 docker/buildx#2606 - 在使用 Bake 构建多个目标时,在错误消息中包含目标名称。 docker/buildx#2651
- 优化指标处理,以减少进度跟踪期间的性能开销。 docker/buildx#2641
- 在完成规则检查后显示警告数量。 docker/buildx#2647
- 对于前端方法,跳过构建引用和源信息元数据。 docker/buildx#2650
- 添加对在 Bake 文件(HCL 和 JSON)中设置网络模式的支持。 docker/buildx#2671
- 支持与
--call
标志一同设置--metadata-file
标志。 docker/buildx#2640 - 对多个 Bake 目标使用的本地上下文使用共享会话。 docker/buildx#2615, docker/buildx#2607, docker/buildx#2663
错误修复
- 改进内存管理,避免不必要的内存分配。 docker/buildx#2601
打包更新
- Compose 支持已更新到 v2.1.6。 docker/buildx#2547
0.16.2
2024-07-25此版本的完整发行说明可在 GitHub 上获取。
错误修复
- 修复将本地缓存导出到 NFS 卷时可能出现的“bad file descriptor”错误。 docker/buildx#2629
0.16.1
2024-07-18此版本的完整发行说明可在 GitHub 上获取。
错误修复
- 修复在
buildx bake --print
命令中因数据竞争可能导致的 panic。 docker/buildx#2603 - 改进关于使用
--debug
标志检查构建警告的消息 docker/buildx#2612
0.16.0
2024-07-11此版本的完整发布说明可在 GitHub 上获取。
新增
- Bake 命令现在支持
--call
和--check
标志以及目标定义中的call
属性,用于选择自定义前端方法。 docker/buildx#2556, docker/buildx#2576 - 实验性功能 Bake 现在支持
--list-targets
和--list-variables
标志,用于检查项目的定义和可能的配置选项。 docker/buildx#2556 - Bake 定义变量和目标支持新的
description
属性,用于定义可以通过例如--list-targets
和--list-variables
检查的基于文本的描述。 docker/buildx#2556 - Bake 现在支持打印构建检查违规的警告。 docker/buildx#2501
改进
- 构建命令现在确保多节点构建为每个节点使用相同的构建引用。 docker/buildx#2572
- 避免重复请求并提高远程驱动程序的性能。 docker/buildx#2501
- 现在可以通过设置
BUILDX_METADATA_WARNINGS=1
环境变量将构建警告保存到元数据文件。 docker/buildx#2551, docker/buildx#2521, docker/buildx#2550 - 改进了在使用
--check
标志且未检测到警告时的消息提示。 docker/buildx#2549
错误修复
- 修复了构建期间对多类型注解的支持。 docker/buildx#2522
- 修复了一个回归问题,该问题可能导致在切换项目时由于增量传输复用而发生低效的文件传输。 docker/buildx#2558
- 修复了链式 Bake 目标的默认加载不正确的问题。 docker/buildx#2583
- 修复了 Bake 中
COMPOSE_PROJECT_NAME
处理不正确的问题。 docker/buildx#2579 - 修复了多节点构建的索引注解支持。 docker/buildx#2546
- 修复了从远程上下文构建时捕获源元数据的问题。 docker/buildx#2560
打包更新
- Compose 支持已更新至 v2.1.3。 docker/buildx#2547
0.15.1
2024-06-18此版本的完整发布说明可在 GitHub 上获取。
错误修复
- 修复了使用
--check
进行某些验证请求时缺少构建错误和退出代码的问题。 docker/buildx#2518 - 将
--check
的回退镜像更新至 Dockerfile v1.8.1。 docker/buildx#2538
0.15.0
2024-06-11此版本的完整发行说明可在 GitHub 上找到。
新增
新增
--call
选项,用于设置构建的评估方法,取代了之前实验性的--print
标志。docker/buildx#2498, docker/buildx#2487, docker/buildx#2513除了默认的
build
方法外,Dockerfile 前端还实现了以下方法:--call=check
:运行构建配置的验证程序。有关构建检查的更多信息,请参阅 构建检查。--call=outline
:显示当前构建将使用的配置,包括您的构建将使用的所有构建参数、密钥、SSH 挂载等。--call=targets
:显示所有可用目标及其描述。
已为
docker buildx imagetools create
命令添加了新的--prefer-index
标志,用于控制从单个平台镜像清单创建镜像的行为。docker/buildx#2482kubernetes
驱动程序 现在支持timeout
选项,用于配置部署超时。docker/buildx#2492已为构建警告类型添加了新的指标定义。docker/buildx#2482, docker/buildx#2507
buildx prune
和buildx du
命令现在支持负向和前缀过滤器。docker/buildx#2473使用 Bake 构建 Compose 文件现在支持传递 SSH 转发配置。docker/buildx#2445
修复使用自定义 TLS 证书配置
kubernetes
驱动程序时的问题。docker/buildx#2454修复加载节点时并发访问 kubeconfig 的问题。docker/buildx#2497
打包更新
- Compose 支持已更新至 v2.1.2。docker/buildx#2502, docker/buildx#2425
0.14.0
2024-04-18此版本的完整发行说明可在 GitHub 上找到。
改进
- 添加了对
--print=lint
(实验性) 的支持。docker/buildx#2404, docker/buildx#2406 - 修复前端中打印子请求的自定义实现的 JSON 格式问题。docker/buildx#2374
- 使用
--metadata-file
构建时,现在会设置源记录。docker/buildx#2280 - 为远程定义添加了 Git 认证支持。docker/buildx#2363
- 为
docker-container
、remote
和kubernetes
驱动程序添加了新的default-load
驱动程序选项,用于默认将构建结果加载到 Docker Engine 镜像存储中。docker/buildx#2259 - 为
kubernetes
驱动程序 添加了requests.ephemeral-storage
、limits.ephemeral-storage
和schedulername
选项。docker/buildx#2370, docker/buildx#2415 - 添加用于
docker-bake.hcl
文件的indexof
函数。 docker/buildx#2384 - Buildx 的 OpenTelemetry 指标现在测量构建期间空闲时间、镜像导出、运行操作以及镜像源操作的镜像传输的持续时间。 docker/buildx#2316, docker/buildx#2317, docker/buildx#2323, docker/buildx#2271
- 与
desktop-linux
上下文关联的 OpenTelemetry 端点的构建进度指标不再需要实验模式下的 Buildx (BUILDX_EXPERIMENTAL=1
)。 docker/buildx#2344
错误修复
- 修复了与多个 Bake 文件定义一起使用时,
--load
和--push
错误地覆盖输出的问题。 docker/buildx#2336 - 修复了启用实验模式后从标准输入进行构建的问题。 docker/buildx#2394
- 修复了委托跟踪可能重复的问题。 docker/buildx#2362
打包更新
- Compose 支持已更新到 v2.26.1(通过
compose-go
v2.0.2)。 docker/buildx#2391
0.13.1
2024-03-13本次发布的完整发布说明可在 GitHub 上获取。
错误修复
- 修复了使用远程驱动程序连接到
docker-container://
和kube-pod://
格式 URL 的问题。 docker/buildx#2327 - 修复了当目标已定义非镜像输出时,使用 Bake 处理
--push
的问题。 docker/buildx#2330
0.13.0
2024-03-06本次发布的完整发布说明可在 GitHub 上获取。
新增
- 新增
docker buildx dial-stdio
命令,用于直接联系配置的构建器实例的 BuildKit 守护进程。 docker/buildx#2112 - 现在可以使用
remote
驱动程序和 npipe 连接创建 Windows 容器构建器。 docker/buildx#2287 - Npipe URL 方案现在在 Windows 上受到支持。 docker/buildx#2250
- 实验性 Buildx 现在可以导出构建持续时间和传输大小的 OpenTelemetry 指标。 docker/buildx#2235, docker/buildx#2258 docker/buildx#2225 docker/buildx#2224 docker/buildx#2155
改进
- Bake 命令现在支持定义
shm-size
和ulimit
值。 docker/buildx#2279, docker/buildx#2242 - 更好地处理使用远程驱动程序连接到不健康节点的问题。 docker/buildx#2130
- 使用
docker-container
和kubernetes
驱动程序的构建器现在默认允许network.host
权限(允许访问容器的网络)。docker/buildx#2266 - 构建现在可以在一个命令中使用多个输出(需要 BuildKit v0.13+ 版本或更高)。docker/buildx#2290, docker/buildx#2302
- 现在通过配置的跟踪分支来查找默认的 Git 仓库路径。docker/buildx#2146
- 修复了在使用 Bake 中的链接目标时可能出现的缓存失效问题。docker/buildx#2265
- 修复了 WSL 中 Git 仓库路径清理(sanitization)的问题。docker/buildx#2167
- 现在可以通过单个命令移除多个构建器。docker/buildx#2140
- 通过 Unix 套接字实现新的取消信号处理。docker/buildx#2184 docker/buildx#2289
- Compose 规范的支持已更新到 v2.0.0-rc.8 版本。docker/buildx#2205
docker buildx create
命令的--config
标志已重命名为--buildkitd-config
。docker/buildx#2268docker buildx build
命令的--metadata-file
标志现在还可以返回构建引用,该引用可用于进一步的构建调试,例如在 Docker Desktop 中。docker/buildx#2263docker buildx bake
命令现在为所有目标共享相同的认证提供者,以改进性能。docker/buildx#2147docker buildx imagetools inspect
命令现在显示 DSSE 签名的 SBOM 和 Provenance 证明。docker/buildx#2194docker buildx ls
命令现在支持--format
选项来控制输出格式。docker/buildx#1787docker-container
驱动程序现在支持驱动程序选项,用于定义 BuildKit 容器的重启策略。docker/buildx#1271- 从 Buildx 导出的 VCS 属性现在包含本地目录子路径,如果它们相对于当前的 Git 仓库。docker/buildx#2156
--add-host
标志现在允许使用=
作为 IPv6 地址的分隔符。docker/buildx#2121
错误修复
- 修复了使用
--progress=rawjson
导出进度时出现的额外输出问题。docker/buildx#2252 - 修复了 Windows 上可能出现的控制台警告问题。docker/buildx#2238
- 修复了在使用带有许多配置的 Bake 时可能出现的不一致的配置合并顺序问题。docker/buildx#2237
- 修复了
docker buildx imagetools create
命令中可能出现的崩溃问题。docker/buildx#2230
0.12.1
2024-01-12此版本的完整发布说明可在 GitHub 获取。
问题修复和增强功能
- 修复某些
--driver-opt
值验证不正确的问题,这些问题可能导致程序崩溃并存储损坏的状态。 docker/buildx#2176
0.12.0
2023-11-16此版本的完整发布说明可在 GitHub 上获取。
新增
- 为
buildx build
添加了新的--annotation
标志,并在 Bake 文件中添加了annotations
键,允许您向构建结果添加 OCI Annotations。 #2020, #2098 - 新增实验性调试功能,包括新的
debug
命令和交互式调试控制台。此功能当前需要设置BUILDX_EXPERIMENTAL=1
。 #2006, #1896, #1970, #1914, #2026, #2086
问题修复和增强功能
- 特殊的
host-gateway
IP 映射现在可以在构建期间与--add-host
标志一起使用。 #1894, #2083 - Bake 现在允许在从远程定义构建时添加本地源文件。 #1838
- 现在可以在进度条上交互式地显示将构建结果上传到 Docker 的状态。 #1994
- 启动多节点构建集群时,错误处理得到了改进。 #1869
buildx imagetools create
命令现在允许在注册表中创建新镜像时添加 annotation。 #1965- 现在可以使用 Docker 和 Remote 驱动程序,通过 buildx 实现 OpenTelemetry 构建跟踪的委托。 #2034
- Bake 命令现在会在进度条上显示加载构建定义的所有文件。 #2076
- Bake 文件现在允许在多个定义文件中定义相同的属性。 #1062
- 使用带有远程定义的 Bake 命令现在允许该定义使用本地 Dockerfile。 #2015
- Docker 容器驱动程序现在显式设置 BuildKit 配置路径,以确保主线镜像和无根 (rootless) 镜像都从同一位置加载配置。 #2093
- 改进了检测 BuildKit 实例何时完成启动的性能。 #1934
- 容器驱动程序现在接受许多新的驱动程序选项,用于定义 BuildKit 容器的资源限制。 #2048
- 检查命令的格式已改进。 #2068
- 关于驱动程序能力的错误消息已改进。 #1998
- 改进在不指定目标时调用 Bake 命令的错误提示。 #2100
- 在独立模式下运行时,允许通过环境变量启用调试日志。 #1821
- 使用 Docker 驱动程序时,默认的镜像解析模式已更新为优先使用本地 Docker 镜像,以保持向后兼容性。 #1886
- Kubernetes 驱动程序现在允许为 BuildKit 部署和 Pod 设置自定义注解和标签。 #1938
- Kubernetes 驱动程序现在允许通过端点配置设置认证令牌。 #1891
- 修复了 Bake 中链式目标可能导致构建失败或本地源文件为同一目标被多次上传的问题。 #2113
- 修复了在使用 Bake 命令的矩阵特性时访问全局目标属性的问题。 #2106
- 修复了某些构建标志的格式验证问题。 #2040
- 修复了在启动构建器节点时,不必要地锁定某些命令的问题。 #2066
- 修复了多个构建尝试并行引导同一个构建器实例的情况。 #2000
- 修复了在某些情况下上传构建结果到 Docker 时可能丢失错误的问题。 #1927
- 修复了根据构建输出检测缺失的 attestation 支持能力的问题。 #1988
- 修复了加载 Bake 远程定义时,构建不会出现在构建历史记录中的问题。 #1961, #1954
- 修复了使用 Bake 构建定义了 profiles 的 Compose 文件时出现的错误。 #1903
- 修复了进度条上可能出现的时间校正错误。 #1968
- 修复了向使用新控制器接口的构建传递自定义 cgroup 父级的问题。 #1913
打包
0.11.2
2023-07-18此版本的完整发布说明可在 GitHub 上。
问题修复和增强功能
- 修复了一个回归问题,该问题导致 buildx 无法从实例存储中读取
KUBECONFIG
路径。 docker/buildx#1941 - 修复了一个回归问题,该问题导致结果处理构建错误地显示在构建历史记录中。 docker/buildx#1954
0.11.1
2023-07-05此版本的完整发行说明可在 GitHub 上获取。
问题修复和增强功能
- 修复了 bake 中的一项回归问题,即 profile 中的服务无法加载。 docker/buildx#1903
- 修复了一项回归问题,即
--cgroup-parent
选项在构建期间无效。 docker/buildx#1913 - 修复了一项回归问题,即有效的 Docker context 可能无法通过 Buildx 构建器名称验证。 docker/buildx#1879
- 修复了在构建期间调整终端大小时可能发生的 panic 问题。 docker/buildx#1929
0.11.0
2023-06-13此版本的完整发行说明可在 GitHub 上获取。
新增
- Bake 现在支持 矩阵构建。
target
中的新 matrix 字段允许您创建多个相似目标,以减少 bake 文件中的重复。 docker/buildx#1690 - 新增实验性
--detach
标志,用于在分离模式下运行构建。 docker/buildx#1296, docker/buildx#1620, docker/buildx#1614, docker/buildx#1737, docker/buildx#1755 - 新增实验性调试监控模式,允许您在构建中启动调试会话。 docker/buildx#1626, docker/buildx#1640
- 新增实验性
EXPERIMENTAL_BUILDKIT_SOURCE_POLICY
环境变量,用于应用 BuildKit 源策略文件。 docker/buildx#1628
问题修复和增强功能
- 当启用 containerd 镜像存储时,
--load
现在支持加载多平台镜像。 docker/buildx#1813 - 构建进度输出现在显示正在使用的构建器的名称。 docker/buildx#1177
- Bake 现在支持检测
compose.{yml,yaml}
文件。 docker/buildx#1752 - Bake 现在支持新的 compose 构建键
dockerfile_inline
和additional_contexts
。 docker/buildx#1784 - Bake 现在支持 replace HCL 函数。 docker/buildx#1720
- Bake 现在允许将多个相似的 attestation 参数合并为一个参数,从而允许使用单个全局值进行覆盖。 docker/buildx#1699
- 初步支持 shell 补全。 docker/buildx#1727
- 对于使用
docker
驱动程序的构建器,BuildKit 版本现在可在buildx ls
和buildx inspect
中正确显示。 docker/buildx#1552 - 在 buildx inspect 视图中显示更多构建器节点详细信息。 docker/buildx#1440, docker/buildx#1854
- 使用
remote
驱动程序的构建器允许使用 TLS,而无需提供自己的密钥/证书(如果 BuildKit 远程配置支持) docker/buildx#1693 - 使用
kubernetes
驱动程序的构建器支持新的serviceaccount
选项,该选项设置 Kubernetes Pod 的serviceAccountName
。 docker/buildx#1597 - 使用
kubernetes
驱动程序的构建器支持 kubeconfig 文件中的proxy-url
选项。 docker/buildx#1780 - 如果未明确提供名称,则使用
kubernetes
的构建器现在会自动分配节点名称。 docker/buildx#1673 - 修复在 Windows 上为
docker-container
驱动程序写入证书时路径无效的问题。 docker/buildx#1831 - 修复通过 SSH 访问远程 bake 文件时构建失败的问题。 docker/buildx#1711, docker/buildx#1734
- 修复远程构建上下文解析不正确时构建失败的问题。 docker/buildx#1783
- 修复构建上下文中
BAKE_CMD_CONTEXT
和cwd://
路径的解析问题。 docker/buildx#1840 - 修复使用
buildx imagetools create
创建镜像时,OCI 和 Docker 媒体类型混用的问题。 docker/buildx#1797 - 修复
--iidfile
和-q
之间镜像 ID 不匹配的问题。 docker/buildx#1844 - 修复混合使用静态凭证和 IAM 配置时 AWS 身份验证的问题。 docker/buildx#1816
0.10.4
2023-03-06注意
Buildx v0.10 支持最小化的 SLSA Provenance 证明,这要求支持 OCI 兼容的 多平台镜像。这可能会引入注册表和运行时支持的问题(例如 Google Cloud Run 和 AWS Lambda)。您可以使用
--provenance=false
选项选择禁用默认的 Provenance 证明功能。
问题修复和增强功能
- 添加
BUILDX_NO_DEFAULT_ATTESTATIONS
作为--provenance false
的替代选项。 docker/buildx#1645 - 为提高性能,默认禁用 Git 工作目录脏检测。可以使用
BUILDX_GIT_CHECK_DIRTY
选择启用该功能。 docker/buildx#1650 - 在发送到 BuildKit 之前,从 VCS 提示 URL 中移除凭证。 docker/buildx#1664
0.10.3
2023-02-16注意
Buildx v0.10 支持最小化的 SLSA Provenance 证明,这要求支持 OCI 兼容的 多平台镜像。这可能会引入注册表和运行时支持的问题(例如 Google Cloud Run 和 AWS Lambda)。您可以使用
--provenance=false
选项选择禁用默认的 Provenance 证明功能。
问题修复和增强功能
- 修复收集 Git provenance 信息时,关于可达提交和警告的问题。 docker/buildx#1592, docker/buildx#1634
- 修复 docker 上下文未经验证的回归问题。 docker/buildx#1596
- 修复 JSON 构建定义中的函数解析问题。 docker/buildx#1605
- 修复原始 HCL bake 诊断信息被丢弃的问题。 docker/buildx#1607
- 修复使用 bake 和 compose 文件时标签未正确设置的问题。 docker/buildx#1631
0.10.2
2023-01-30注意
Buildx v0.10 支持最小化的 SLSA Provenance 证明,这要求支持 OCI 兼容的 多平台镜像。这可能会引入注册表和运行时支持的问题(例如 Google Cloud Run 和 AWS Lambda)。您可以使用
--provenance=false
选项选择禁用默认的 Provenance 证明功能。
问题修复和增强功能
- 修复多节点构建中未考虑首选平台顺序的问题。 docker/buildx#1561
- 修复处理
SOURCE_DATE_EPOCH
环境变量时可能发生的 panic。 docker/buildx#1564 - 修复 BuildKit v0.11 版本后在某些镜像仓库中多节点清单合并可能导致的推送错误。 docker/buildx#1566
- 改进收集 Git 出处信息时的警告。 docker/buildx#1568
0.10.1
2023-01-27注意
Buildx v0.10 支持最小化的 SLSA Provenance 证明,这要求支持 OCI 兼容的 多平台镜像。这可能会引入注册表和运行时支持的问题(例如 Google Cloud Run 和 AWS Lambda)。您可以使用
--provenance=false
选项选择禁用默认的 Provenance 证明功能。
问题修复和增强功能
- 修复将正确的源 URL 作为
vsc:source
元数据发送的问题。 docker/buildx#1548 - 修复数据竞争可能导致的 panic。 docker/buildx#1504
- 修复
rm --all-inactive
命令的回归问题。 docker/buildx#1547 - 通过延迟加载数据来改进
imagetools inspect
命令中的 attestations 访问。 docker/buildx#1546 - 正确地将 capabilities 请求标记为内部请求。 docker/buildx#1538
- 检测无效的 attestation 配置。 docker/buildx#1545
- 更新 containerd 补丁,以修复可能影响
imagetools
命令的推送回归问题。 docker/buildx#1559
0.10.0
2023-01-10注意
Buildx v0.10 支持最小化的 SLSA Provenance 证明,这要求支持 OCI 兼容的 多平台镜像。这可能会引入注册表和运行时支持的问题(例如 Google Cloud Run 和 AWS Lambda)。您可以使用
--provenance=false
选项选择禁用默认的 Provenance 证明功能。
新增
buildx build
命令支持新的--attest
标志,以及--sbom
和--provenance
等快捷方式,用于为当前构建添加 attestations。 docker/buildx#1412 docker/buildx#1475--attest type=sbom
或--sbom=true
会添加 SBOM attestations。--attest type=provenance
或--provenance=true
会添加 SLSA provenance attestation。- 创建 OCI 镜像时,默认会在镜像中包含一个最小化的 provenance attestation。
- 当使用支持 provenance attestations 的 BuildKit 进行构建时,Buildx 会自动共享构建上下文的版本控制信息,以便后续调试时可以在 provenance 中显示。以前,这只有在直接从 Git URL 构建时才会发生。要选择禁用此行为,可以设置
BUILDX_GIT_INFO=0
。此外,还可以通过设置BUILDX_GIT_LABELS=1
自动定义包含 VCS 信息的标签。 docker/buildx#1462, docker/buildx#1297, docker/buildx#1341, docker/buildx#1468, docker/buildx#1477 - 使用
--build-context
的命名上下文现在支持oci-layout://
协议,用于使用本地 OCI 布局目录的值初始化上下文。例如:--build-context stagename=oci-layout://path/to/dir
。此功能需要 BuildKit v0.11.0+ 和 Dockerfile 1.5.0+。 docker/buildx#1456 - Bake 现在支持资源插值,您可以在其中重用其他目标定义中的值。 docker/buildx#1434
- 如果在您的环境中定义了
SOURCE_DATE_EPOCH
环境变量,Buildx 现在将自动转发它。此功能旨在与 BuildKit v0.11.0+ 中更新的可重现构建支持一起使用。 docker/buildx#1482 - Buildx 现在会记住构建器的最后活动,以便更好地组织构建器实例。 docker/buildx#1439
- Bake 定义现在支持对构建参数和标签的 变量 和 标签 使用 null 值,以使用 Dockerfile 中设置的默认值。 docker/buildx#1449
buildx imagetools inspect
命令 现在支持显示 SBOM 和 Provenance 数据。 docker/buildx#1444, docker/buildx#1498- 提高
ls
命令和 inspect 流程的性能。 docker/buildx#1430, docker/buildx#1454, docker/buildx#1455, docker/buildx#1345 - 使用 Docker 驱动程序 添加额外主机现在支持 Docker 特有的
host-gateway
特殊值。 docker/buildx#1446 - OCI 导出器 现在支持
tar=false
选项,用于将 OCI 格式直接导出到目录中。 docker/buildx#1420
升级
- 将 Compose 规范更新至 1.6.0。 docker/buildx#1387
问题修复和增强功能
--invoke
现在可以从镜像元数据加载默认启动环境。 docker/buildx#1324- 修复容器驱动程序在 UserNS 方面的行为。 docker/buildx#1368
- 修复在 Bake 中使用错误变量值类型时可能出现的 panic。 docker/buildx#1442
- 修复
imagetools inspect
中可能出现的 panic。 docker/buildx#1441 docker/buildx#1406 - 修复默认情况下向 BuildKit 发送空的
--add-host
值的问题。 docker/buildx#1457 - 修复处理进度组(progress groups)时进度前缀(progress prefixes)的问题。 docker/buildx#1305
- 修复在 Bake 中递归解析组(groups)的问题。 docker/buildx#1313
- 修复多节点构建器清单中可能出现的错误缩进。 docker/buildx#1396
- 修复因缺少 OpenTelemetry 配置而可能出现的 panic。 docker/buildx#1383
- 修复当 TTY 不可用时
--progress=tty
的行为。 docker/buildx#1371 - 修复
prune
和du
命令中的连接错误情况。 docker/buildx#1307
0.9.1
2022-08-18问题修复和增强功能
inspect
命令现在显示正在使用的 BuildKit 版本。 docker/buildx#1279- 修复了构建包含没有 build 块的服务的 Compose 文件时出现的回归问题。 docker/buildx#1277
更多详情,请参阅 Buildx GitHub 仓库 中的完整发布说明。
0.9.0
2022-08-17新增
- 支持一个新的
remote
驱动,可用于连接到任何已在运行的 BuildKit 实例。 docker/buildx#1078, docker/buildx#1093, docker/buildx#1094, docker/buildx#1103, docker/buildx#1134, docker/buildx#1204 - 现在可以从标准输入加载 Dockerfile,即使构建上下文来自外部 Git 或 HTTP URL。 docker/buildx#994
- 构建命令现在支持新的构建上下文类型
oci-layout://
,用于从本地 OCI layout 目录加载构建上下文。请注意,此功能依赖于 BuildKit 尚未发布的功能,在 BuildKit v0.11 发布之前,需要使用来自moby/buildkit:master
的 builder 实例。 docker/buildx#1173 - 现在可以使用新的
--print
标志来运行执行构建的 BuildKit 前端支持的辅助函数并打印其结果。您可以在 Dockerfile 中使用此功能,通过--print=outline
显示当前构建支持的构建参数和 secrets,并通过--print=targets
列出所有可用的 Dockerfile stage。此功能为实验性功能,旨在收集早期反馈,并且需要启用BUILDX_EXPERIMENTAL=1
环境变量。我们计划将来更新/扩展此功能,但不保证向后兼容性。 docker/buildx#1100, docker/buildx#1272 - 现在可以使用新的
--invoke
标志,从构建结果启动交互式容器,以便进行交互式调试。可以通过代码更改重新加载这些容器,或从特殊监控模式将其恢复到初始状态。此功能为实验性功能,旨在收集早期反馈,并且需要启用BUILDX_EXPERIMENTAL=1
环境变量。我们计划将来更新/扩展此功能,但不保证向后兼容性。 docker/buildx#1168, docker/buildx#1257, docker/buildx#1259 - Buildx 现在能够识别环境变量
BUILDKIT_COLORS
和NO_COLOR
,用于自定义或禁用交互式构建进度条的颜色。 docker/buildx#1230, docker/buildx#1226 buildx ls
命令现在会显示每个 builder 实例的当前 BuildKit 版本。 docker/buildx#998bake
命令现在会在构建 Compose 文件时自动加载.env
文件,以保证兼容性。 docker/buildx#1261- Bake 现在支持带有
cache_to
定义的 Compose 文件。 docker/buildx#1155 - Bake 现在支持新的内置函数
timestamp()
,用于访问当前时间。 docker/buildx#1214 - Bake 现在支持 Compose 构建 secrets 定义。 docker/buildx#1069
- 现在通过
x-bake
在 Compose 文件中支持附加的构建上下文配置。 docker/buildx#1256 - 现在检查构建器会显示当前的驱动选项配置。 docker/buildx#1003, docker/buildx#1066
更新
- 将 Compose 规范更新到 1.4.0。 docker/buildx#1246, docker/buildx#1251
问题修复和增强功能
buildx ls
命令输出已更新,可以更好地访问来自不同构建器的错误。 docker/buildx#1109buildx create
命令现在执行额外的构建器参数验证,以避免创建配置无效的构建器实例。 docker/buildx#1206buildx imagetools create
命令现在可以创建新的多平台镜像,即使源子镜像位于不同的仓库或注册表中。 docker/buildx#1137- 现在可以设置默认的构建器配置,用于在创建构建器实例时未传递自定义
--config
值的情况。 docker/buildx#1111 - Docker 驱动现在可以检测
dockerd
实例是否支持最初禁用的 Buildkit 功能,例如多平台镜像。 docker/buildx#1260, docker/buildx#1262 - 使用名称中包含
.
的目标的 Compose 文件现已转换为使用_
,以便选择器键仍可在此类目标中使用。 docker/buildx#1011 - 增加了额外的验证,用于检查有效的驱动程序配置。 docker/buildx#1188, docker/buildx#1273
remove
命令现在会显示已移除的构建器,并禁止移除上下文构建器。 docker/buildx#1128- 使用 Kubernetes 驱动时启用 Azure 身份验证。 docker/buildx#974
- 为 kubernetes 驱动添加容忍度处理。 docker/buildx#1045 docker/buildx#1053
- 在
kubernetes
驱动中,用securityContext
替换已弃用的 seccomp 注解。 docker/buildx#1052 - 修复处理 nil 平台 manifest 时发生的 panic 错误。 docker/buildx#1144
- 修复在
prune
命令中使用持续时间过滤器的问题。 docker/buildx#1252 - 修复 Bake 定义中合并多个 JSON 文件的问题。 docker/buildx#1025
- 修复由 Docker context 创建的隐式构建器配置无效或连接中断的问题。 docker/buildx#1129
- 修复在使用命名上下文时显示无输出警告的条件问题。 docker/buildx#968
- 修复构建器实例和 docker context 同名时构建器重复的问题。 docker/buildx#1131
- 修复打印不必要的 SSH 警告日志。 docker/buildx#1085
- 修复在使用带有 Bake JSON 定义的空变量块时可能发生的 panic。 docker/buildx#1080
- 修复 image tools 命令未正确处理
--builder
标志的问题。 docker/buildx#1067 - 修复在使用自定义镜像时与 rootless 选项一起使用的问题。 docker/buildx#1063
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.8.2
2022-04-04更新
- 将
buildx bake
使用的 Compose spec 更新到 v1.2.1,以修复端口定义解析问题。 docker/buildx#1033
问题修复和增强功能
- 修复处理 BuildKit v0.10 的进度流时可能发生的崩溃问题。 docker/buildx#1042
- 修复
buildx bake
中当组已被父组加载时解析组的问题。 docker/buildx#1021
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.8.1
2022-03-21问题修复和增强功能
- 修复处理构建上下文扫描错误时可能发生的 panic。 docker/buildx#1005
- 为了向后兼容,允许在
buildx bake
中的 Compose 目标名称中使用.
。 docker/buildx#1018
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.8.0
2022-03-09新增
- 构建命令现在接受
--build-context
标志,以便为您的构建定义额外的命名构建上下文。 docker/buildx#904 - Bake 定义现在支持定义目标之间的依赖关系,并在另一个构建中使用一个目标的结果。 docker/buildx#928, docker/buildx#965, docker/buildx#963, docker/buildx#962, docker/buildx#981
imagetools inspect
现在接受--format
标志,允许访问特定镜像的配置(config)和构建信息(buildinfo)。 docker/buildx#854, docker/buildx#972- 新的
--no-cache-filter
标志允许配置构建,使其仅对指定的 Dockerfile 阶段忽略缓存。 docker/buildx#860 - 构建现在可以显示由构建前端设置的警告摘要。 docker/buildx#892
- 新的构建参数
BUILDKIT_INLINE_BUILDINFO_ATTRS
允许选择将构建属性嵌入到结果镜像中。 docker/buildx#908 - 新的标志
--keep-buildkitd
允许在移除构建器时保持 BuildKit 守护进程运行
问题修复和增强功能
--metadata-file
输出现在支持嵌入式结构类型。 docker/buildx#946buildx rm
现在接受新的标志--all-inactive
,用于删除所有当前未运行的构建器。 docker/buildx#885- 代理配置现在从 Docker 配置文件中读取,并随构建请求一起发送,以实现向后兼容。 docker/buildx#959
- 在 Compose 中支持主机网络。 docker/buildx#905, docker/buildx#880
- Bake 文件现在可以使用
-f -
从标准输入读取。 docker/buildx#864 --iidfile
现在始终独立于所使用的驱动程序写入镜像配置摘要(对于摘要,请使用--metadata-file
)。 docker/buildx#980- Bake 中的目标名称现在限制为不能使用特殊字符。 docker/buildx#929
- 当使用
docker
驱动程序推送时,可以从元数据中读取镜像清单摘要。 docker/buildx#989 - 修复 Compose 文件中的环境变量文件处理问题。 docker/buildx#905
- 在
du
命令中显示上次访问时间。 docker/buildx#867 - 修复多个 Bake 目标运行相同构建步骤时可能出现双重输出日志的问题。 docker/buildx#977
- 修复多节点构建器构建包含混合平台的多目标时可能出现的错误。 docker/buildx#985
- 修复 Bake 中一些嵌套继承的情况。 docker/buildx#914
- 修复 Bake 文件中打印默认组的问题。 docker/buildx#884
- 修复使用无根容器时
UsernsMode
的问题。 docker/buildx#887
更多详细信息,请参阅 Buildx GitHub 仓库 中的完整发布说明。
0.7.1
2021-08-25修复
- 修复
.dockerignore
中匹配排除规则的问题。 docker/buildx#858 - 修复
bake --print
命令当前组的 JSON 输出问题。 docker/buildx#857
更多详细信息,请参阅 Buildx GitHub 仓库 中的完整发布说明。
0.7.0
2021-11-10新特性
- BuildKit 配置中的 TLS 证书现在会随
docker-container
和kubernetes
驱动程序一起传输到构建容器中。 docker/buildx#787 - 构建现在支持
--ulimit
标志以实现功能对等。 docker/buildx#800 - 构建现在支持
--shm-size
标志以实现功能对等。 docker/buildx#790 - 构建现在支持
--quiet
标志以实现功能对等。 docker/buildx#740 - 构建现在支持
--cgroup-parent
标志以实现功能对等。 docker/buildx#814 - Bake 支持内置变量
BAKE_LOCAL_PLATFORM
。docker/buildx#748 - Bake 支持 Compose 文件中的
x-bake
扩展字段。docker/buildx#721 kubernetes
驱动程序现在支持使用冒号分隔的KUBECONFIG
。docker/buildx#761kubernetes
驱动程序现在支持使用--config
设置 Buildkit 配置文件。docker/buildx#682kubernetes
驱动程序现在支持使用 driver-opt 安装 QEMU 模拟器。docker/buildx#682
改进
- 允许从客户端使用自定义注册表配置进行多节点推送。docker/buildx#825
- 允许为
buildx imagetools
命令使用自定义注册表配置。docker/buildx#825 - 允许在使用
buildx create --bootstrap
创建构建器后引导启动它。docker/buildx#692 - 允许多节点推送使用
registry:insecure
输出选项。docker/buildx#825 - BuildKit 配置和 TLS 文件现在保存在 Buildx 状态目录中,并在需要重新创建 BuildKit 实例时重复使用。docker/buildx#824
- 确保不同项目使用单独的目标目录进行增量上下文传输,以提高性能。docker/buildx#817
- 构建容器现在默认放置在单独的 cgroup 中。docker/buildx#782
- Bake 现在使用
--print
打印默认组。docker/buildx#720 docker
驱动程序现在通过 HTTP 建立构建会话以提高性能。docker/buildx#804
修复
- 修复在多节点推送时使用
--iidfile
的问题。docker/buildx#826 - 在 Bake 中使用
--push
不会清除文件中其他的镜像导出选项。docker/buildx#773 - 修复在使用
https
协议时,buildx bake
Git URL 检测的问题。docker/buildx#822 - 修复在多节点构建中推送带有多个名称的镜像的问题。docker/buildx#815
- 避免在不使用
--builder
标志的命令中显示该标志。docker/buildx#818 - 不受支持的构建标志现在会显示警告。docker/buildx#810
- 修复在某些 OpenTelemetry 跟踪中报告错误详细信息的问题。docker/buildx#812
更多详细信息,请参阅 Buildx GitHub 存储库 中的完整发布说明。
0.6.3
2021-08-30修复
- 修复 Windows 客户端的 BuildKit 状态卷位置。 docker/buildx#751
更多详情请参阅 Buildx GitHub 仓库中的完整发布说明。
0.6.2
2021-08-21更多详情请参阅 Buildx GitHub 仓库中的完整发布说明。
修复
- 修复在某些 SSH 配置中出现的连接错误。 docker/buildx#741
0.6.1
2021-07-30改进
- 设置
ConfigFile
以使用 Bake 解析 Compose 文件。 docker/buildx#704
修复
- 复制进度环境变量。 docker/buildx#693
- 应该忽略 nil 客户端。 docker/buildx#686
更多详情请参阅 Buildx GitHub 仓库中的完整发布说明。
0.6.0
2021-07-16新特性
- 支持 OpenTelemetry 跟踪并将 Buildx 客户端跟踪转发到 BuildKit。 docker/buildx#635
- 实验性的 GitHub Actions 远程缓存后端,支持
--cache-to type=gha
和--cache-from type=gha
。 docker/buildx#535 - 为 build 和 Bake 命令添加了新的
--metadata-file
标志,允许以 JSON 格式保存构建结果元数据。 docker/buildx#605 - 这是第一个支持 Windows ARM64 的版本。 docker/buildx#654
- 这是第一个支持 Linux Risc-V 的版本。 docker/buildx#652
- Bake 现在支持从远程定义构建,并使用本地文件或其他远程源作为上下文。 docker/buildx#671
- Bake 现在允许变量之间相互引用,以及在变量中使用用户函数(反之亦然)。 docker/buildx#575,docker/buildx#539,docker/buildx#532
- Bake 允许在全局范围定义属性。 docker/buildx#541
- Bake 允许在多个文件之间使用变量。 docker/buildx#538
- 进度打印机新增了静默模式。 docker/buildx#558
kubernetes
驱动程序现在支持定义资源/限制。 docker/buildx#618- Buildx 二进制文件现在可以通过 buildx-bin Docker 镜像访问。 docker/buildx#656
改进
docker-container
驱动程序现在将 BuildKit 状态保存在卷中。启用在保持状态的同时进行更新。 docker/buildx#672- Compose 解析器现在基于新的 compose-go 解析器,修复了对一些较新语法的支持。 docker/buildx#669
- 构建基于 SSH 的 Git URL 时,SSH 套接字现在会自动转发。 docker/buildx#581
- Bake HCL 解析器已重写。 docker/buildx#645
- 扩展了 HCL 支持,增加了更多功能。 docker/buildx#491 docker/buildx#503
- 允许从环境变量获取 secrets。 docker/buildx#488
- 使用不受支持的多平台和加载配置进行构建现在会快速失败。 docker/buildx#582
- 存储 Kubernetes 配置文件,以使 buildx 构建器可切换。 docker/buildx#497
- Kubernetes 现在会在检查时将所有 Pod 列为节点。 docker/buildx#477
- 默认的无根(Rootless)镜像已设置为
moby/buildkit:buildx-stable-1-rootless
。 docker/buildx#480
修复
imagetools create
命令现在可以正确地将 JSON 描述符与旧描述符合并。 docker/buildx#592- 修复了使用
--network=none
进行构建时不需要额外安全授权的问题。 docker/buildx#531
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.5.1
2020-12-15修复
- 修复了在
kubernetes
驱动之外的buildx create
命令上设置--platform
时出现的回归问题。 docker/buildx#475
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.5.0
2020-12-15新特性
docker
驱动现在支持--push
标志。 docker/buildx#442- Bake 支持内联 Dockerfile。 docker/buildx#398
- Bake 支持从远程 URL 和 Git 仓库构建。 docker/buildx#398
BUILDX_CONFIG
环境变量允许用户将 buildx 状态与 Docker 配置分开。 docker/buildx#385BUILDKIT_MULTI_PLATFORM
构建参数允许强制构建多平台返回对象,即使只指定了一个--platform
。 docker/buildx#467
改进
- 允许
--append
与kubernetes
驱动一起使用。 docker/buildx#370 - 构建错误现在会显示源文件中的错误位置,并在使用
--debug
时显示系统堆栈跟踪。 docker/buildx#389 - Bake 现在以源定义格式化 HCL 错误。 docker/buildx#391
- Bake 允许数组中包含将被丢弃的空字符串值。 docker/buildx#428
- 现在您可以通过
kubernetes
驱动程序使用 Kubernetes 集群配置。 docker/buildx#368 docker/buildx#460 - 在可能的情况下,创建临时令牌来拉取镜像,而不是共享凭证。 docker/buildx#469
- 确保在拉取 BuildKit 容器镜像时传递凭证。 docker/buildx#441 docker/buildx#433
- 在
docker-container
驱动程序中禁用用户命名空间重映射。 docker/buildx#462 - 允许使用
--builder
标志切换到默认实例。 docker/buildx#425 - 避免在
BUILDX_NO_DEFAULT_LOAD
配置值为空时发出警告。 docker/buildx#390 - 将
quiet
选项产生的错误替换为警告。 docker/buildx#403 - CI 已切换到 GitHub Actions。 docker/buildx#451, docker/buildx#463, docker/buildx#466, docker/buildx#468, docker/buildx#471
修复
- 将小写 Dockerfile 名称作为向后兼容的备用方案进行处理。 docker/buildx#444
更多详细信息,请参阅 Buildx GitHub 仓库 中的完整发行说明。
0.4.2
2020-08-22新特性
- 支持
cacheonly
导出器。 docker/buildx#337
改进
- 更新
go-cty
以引入更多stdlib
函数。 docker/buildx#277 - 改进加载时的错误检查。 docker/buildx#281
修复
- 修复使用 HCL 解析 json 配置的问题。 docker/buildx#280
- 确保
--builder
参数从根选项中传递。 docker/buildx#321 - 移除多平台 iidfile 的警告。 docker/buildx#351
更多详细信息,请参阅 Buildx GitHub 仓库 中的完整发行说明。
0.4.1
2020-05-01修复
- 修复标志解析中的回归问题。 docker/buildx#268
- 修复在 HCL 目标中使用 pull 和 no-cache 键的问题。 docker/buildx#268
有关更多详细信息,请参阅 Buildx GitHub 仓库 中的完整版本说明。
0.4.0
2020-04-30新特性
- 添加
kubernetes
驱动。 docker/buildx#167 - 新增全局
--builder
标志,用于覆盖单个命令的构建器实例。 docker/buildx#246 - 新增
prune
和du
命令,用于管理本地构建器缓存。 docker/buildx#249 - 现在可以为 HCL targets 设置新的
pull
和no-cache
选项。 docker/buildx#165
改进
- 将 Bake 升级到支持变量和函数的 HCL2。 docker/buildx#192
- Bake 现在支持
--load
和--push
。 docker/buildx#164 - Bake 现在支持对多个 targets 进行通配符覆盖。 docker/buildx#164
- Container driver 允许通过
driver-opt
设置环境变量。 docker/buildx#170
有关更多详细信息,请参阅 Buildx GitHub 仓库 中的完整版本说明。
0.3.1
2019-09-27改进
- 处理复制 unix sockets,而不是出错。 docker/buildx#155 moby/buildkit#1144
修复
- 使用多个 Compose files 运行 Bake 现在可以正确合并 targets。 docker/buildx#134
- 修复了从 stdin 构建 Dockerfile 时(
build -f -
)出现的 bug。 docker/buildx#153
有关更多详细信息,请参阅 Buildx GitHub 仓库 中的完整版本说明。
0.3.0
2019-08-02新特性
- 自定义
buildkitd
守护进程标志。 docker/buildx#102 create
命令的驱动程序特定选项。 docker/buildx#122
改进
- Environment variables 在 Compose files 中使用。 docker/buildx#117
- Bake 现在遵循
--no-cache
和--pull
。 docker/buildx#118 - 自定义 BuildKit 配置文件。 docker/buildx#121
- Entitlements 支持,使用
build --allow
。 docker/buildx#104
修复
- 修复了 `--build-arg foo` 不会从 environment 中读取 `foo` 的 bug。 docker/buildx#116
有关更多详细信息,请参阅 Buildx GitHub 仓库 中的完整版本说明。
0.2.2
2019-05-30改进
- 更改 Compose file 处理方式,要求有效的 service specifications。 docker/buildx#87
有关更多详细信息,请参阅 Buildx GitHub 仓库 中的完整版本说明。
0.2.1
2019-05-25新特性
- 添加
BUILDKIT_PROGRESS
环境变量。 docker/buildx#69 - 添加
local
平台。 docker/buildx#70
改进
- 如果配置中定义了,则保留 arm 变体。 docker/buildx#68
- 使 dockerfile 相对与上下文。 docker/buildx#83
修复
- 修复从 compose 文件解析目标的问题。 docker/buildx#53
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.2.0
2019-04-25新特性
- 首次发布
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。.