Build 发行说明
本页包含有关 Docker Buildx 中的新功能、改进和错误修复的信息。
0.28.0
2025-09-03此版本的完整发行说明可在 GitHub 上找到。
新增
- 使用 Dockerfile 1.18.0 或更高版本进行构建时,您现在可以在
build和bake命令中使用带有查询选项的新的 Git URL 作为构建上下文和命名上下文。dockerfile/1.18.0
增强功能
- 为
buildx du命令添加格式化选项,以实现自定义和机器可读的输出。docker/buildx#3377 - Kubernetes 驱动程序现在支持
env.<key>驱动程序选项 docker/buildx#3373 - 在 BuildKit 禁用 Dockerfile 前端时,添加对
BUILDKIT_SYNTAX构建参数的支持。docker/buildx#3385
错误修复
- 修复了在使用 moby 导出器导出索引注解时提早失败的问题。docker/buildx#3384
- 修复了 Windows 上因符号链接处理可能出现的错误 docker/buildx#3386
0.27.0
2025-08-20此版本的完整发行说明可在 GitHub 上找到。
新增
- Compose 兼容性已更新至 v2.8.1。docker/buildx#3337
增强功能
- DAP:当执行恢复并再次暂停时,Exec shell 现在会随新容器重启。docker/buildx#3341
- DAP:在变量中添加
文件资源管理器部分,以检查文件系统状态。docker/buildx#3327 - DAP:更改 Dockerfile 步骤顺序以更符合用户预期。docker/buildx#3325
- DAP:改进了对正确父级的判断。docker/buildx#3366
- DAP:现在支持在上下文中嵌套 Dockerfile。docker/buildx#3371
- 历史记录中显示的构建名称现在可以使用
BUILDKIT_BUILD_NAME构建参数进行覆盖。docker/buildx#3330 - Bake 现在支持
homedir()函数。docker/buildx#3351 - Bake 对空 Dockerfile 的默认值现在默认为
Dockerfile,以匹配build命令的行为。docker/buildx#3347 - Bake 支持 Compose 文件中的
pull和no_cache字段。docker/buildx#3352 - 在使用 Bake 进行构建时,清理 Compose 文件中
additional_contexts的名称。docker/buildx#3361
错误修复
- 修复了在请求 GPU 设备时
docker-container驱动程序中缺少 WSL 库的问题。docker/buildx#3320
0.26.1
2025-07-22此版本的完整发行说明可在 GitHub 上找到。
错误修复
- 修复了使用 Bake 验证 compose 文件时的回归问题。docker/buildx#3329
0.26.0
2025-07-21此版本的完整发行说明可在 GitHub 上找到。
新增
- 新增了 DAP 调试器的实验性版本,并附带一个新的
dap build辅助命令。可以通过 DockerDX VSCode 扩展 尝试此新功能。docker/buildx#3235 - Compose 兼容性已更新至 v2.7.1。docker/buildx#3282
增强功能
- Bake 命令现在支持使用通配符进行目标名称的模式匹配。docker/buildx#3280
- Bake 命令现在支持通过环境变量
BUILDX_BAKE_FILE设置文件。docker/buildx#3242 - Bake 在解析和验证 compose 文件时现在会忽略不相关的字段。docker/buildx#3292
history命令将自动引导构建器。docker/buildx#3300- 为
history inspect命令添加 SLSA v1 支持。docker/buildx#3245 - Kubernetes 驱动程序选项
buildkit-root-volume-memory,用于为根卷使用内存挂载。docker/buildx#3253
错误修复
- 修复了访问不返回内容长度的注册表时
imagetools命令可能出现的错误。docker/buildx#3316 - 修复了帮助输出中重复的命令描述。docker/buildx#3298
- 修复
history inspect attachment以使其不再需要参数。docker/buildx#3264 - 修复了在使用 Bake 构建 compose 文件时从
.env文件解析环境变量的问题。docker/buildx#3275, docker/buildx#3276, docker/buildx#3322
0.25.0
2025-06-17此版本的完整发行说明可在 GitHub 上找到。
新增
- Bake 现在支持定义
extra-hosts。docker/buildx#3234
增强功能
- 添加对 bearer token 认证的支持。docker/buildx#3233
- 为命令中的内部错误、资源错误和已取消错误添加自定义退出码。docker/buildx#3214
- 使用 Bake 的
--list=variables时显示变量类型。docker/buildx#3207 - 在 Bake 中,将有类型但无值的变量视为
null值。docker/buildx#3198 - 在 extra hosts 配置中添加对多个 IP 的支持。docker/buildx#3244
- 在
buildx history命令中支持更新的 SLSA V1 provenance。docker/buildx#3245 - 在 imagetools 命令中添加对
RegistryToken配置的支持。docker/buildx#3233
错误修复
- 修复
prune命令的keep-storage标志弃用通知。docker/buildx#3216
0.24.0
2025-05-21此版本的完整发行说明可在 GitHub 上找到。
增强功能
- 在 Bake 的
variable块中新增了type属性,以允许显式指定变量类型。docker/buildx#3167, docker/buildx#3189, docker/buildx#3198 - 在
history export命令中新增了--finalize标志,用于在导出前最终确定构建跟踪。docker/buildx#3152 - Compose 兼容性已更新至 v2.6.3。docker/buildx#3191, docker/buildx#3171
错误修复
- 修复了某些构建在完成后可能留下临时文件的问题。docker/buildx#3133
- 修复了在使用 Docker 且启用 containerd-snapshotter 时构建返回错误镜像 ID 的问题。docker/buildx#3136
- 修复了使用 Bake 的空
call定义时可能发生的 panic。docker/buildx#3168 - 修复了在 Windows 上使用 Bake 时可能出现的 Dockerfile 路径格式错误。docker/buildx#3141
- 修复了
ls命令的 JSON 输出中当前构建器不可用的问题。docker/buildx#3179 - 修复了 OTEL 上下文未传播到 Docker daemon 的问题。docker/buildx#3146
0.23.0
2025-04-15此版本的完整发行说明可在 GitHub 上找到。
新增
- 新增
buildx history export命令,允许将构建记录导出为可导入到 Docker Desktop 的 bundle。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 - Bake 现在支持使用
+=运算符,在使用--set进行覆盖时进行追加。docker/buildx#3031 - Docker 容器驱动程序会将可用的 GPU 设备添加到容器中。docker/buildx#3063
- 现在可以在使用 Bake 进行覆盖时设置注解。docker/buildx#2997
- NetBSD 二进制文件现已包含在发行版中。docker/buildx#2901
inspect和create命令现在会在节点启动失败时返回错误。docker/buildx#3062
错误修复
- 修复了在使用 Docker 驱动程序且启用了 containerd 镜像存储时重复推送的问题。docker/buildx#3023
- 修复了
imagetools create命令推送多个标签的问题。现在只有最终的清单会按标签推送。docker/buildx#3024
0.21.0
2025-02-19此版本的完整发行说明可在 GitHub 上找到。
新增
- 新增命令
buildx history trace,让您可以在基于 Jaeger UI 的查看器中检查构建的跟踪信息,并比较一个跟踪与另一个跟踪。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 处理包含多个注册表引用的 CSV 字符串的缓存导入。docker/buildx#2944
- 修复了拉取 BuildKit 镜像时可能被忽略的错误问题。docker/buildx#2988
- 修复了在调试 shell 上暂停进度时的竞争问题。docker/buildx#3003
0.20.1
2025-01-23此版本的完整发行说明可在 GitHub 上找到。
错误修复
- 修复
bake --print在缺少某些证明属性后的输出问题。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 套接字的权限检查问题。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
注意由于一个错误,此增强功能已在 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 下的遥测套接字路径。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 - 允许多节点构建器从 stdin 进行构建。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
- 修复了从远程上下文捕获构建的 provenance 元数据的问题。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 - 修复了启用实验模式时从 stdin 构建的问题。docker/buildx#2394
- 修复了委托跟踪可能被复制的问题。docker/buildx#2362
打包更新
- Compose 支持已更新至 v2.26.1(通过
compose-gov2.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 - Windows 现已支持 Npipe URL 方案。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 仓库路径清理的问题。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 和来源证明。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命令中可能出现的 panic。docker/buildx#2230
0.12.1
2024-01-12此版本的完整发行说明可在 GitHub 上找到。
错误修复和增强
- 修复了某些
--driver-opt值的错误验证问题,该问题可能导致 panic 并存储损坏的状态。docker/buildx#2176
0.12.0
2023-11-16此版本的完整发行说明可在 GitHub 上找到。
新增
- 为
buildx build新增了--annotation标志,并在 Bake 文件中添加了annotations键,让您可以向构建结果添加 OCI 注解。#2020, #2098 - 新增实验性调试功能,包括一个新的
debug命令和一个交互式调试控制台。此功能目前需要设置BUILDX_EXPERIMENTAL=1。#2006, #1896, #1970, #1914, #2026, #2086
错误修复和增强
- 现在可以在构建时通过
--add-host标志使用特殊的host-gatewayIP 映射。#1894, #2083 - Bake 现在允许在从远程定义构建时添加本地源文件。#1838
- 将构建结果上传到 Docker 的状态现在会在进度条上交互式显示。#1994
- 改进了引导多节点构建集群时的错误处理。#1869
buildx imagetools create命令现在允许在注册表中创建新镜像时添加注解。#1965- 现在可以通过 Docker 和 Remote 驱动程序实现来自 buildx 的 OpenTelemetry 构建跟踪委托。#2034
- Bake 命令现在会在进度条上显示加载构建定义的所有文件。#2076
- Bake 文件现在允许在多个定义文件中定义相同的属性。#1062
- 使用带有远程定义的 Bake 命令现在允许该定义使用本地 Dockerfile。#2015
- Docker 容器驱动程序现在明确设置 BuildKit 配置路径,以确保主流和无根镜像的配置都从同一位置加载。#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
- 根据构建输出修复了检测缺失证明支持的功能。#1988
- 修复了在 Bake 远程定义中加载的构建不应出现在构建历史记录中的问题。#1961, #1954
- 修复了使用 Bake 构建定义配置文件的 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 的回归问题,其中配置文件中的服务不会被加载。docker/buildx#1903
- 修复了一个回归问题,即
--cgroup-parent选项在构建期间无效。docker/buildx#1913 - 修复了一个回归问题,即有效的 docker 上下文可能无法通过 buildx 构建器名称验证。docker/buildx#1879
- 修复了在构建过程中调整终端大小时可能发生的 panic。docker/buildx#1929
0.11.0
2023-06-13此版本的完整发行说明可在 GitHub 上找到。
新增
- Bake 现在支持矩阵构建。
target上的新矩阵字段让您可以创建多个类似的目标,以消除 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 现在支持 HCL 的 replace 函数。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 文件时导致的 bake 失败问题。docker/buildx#1711, docker/buildx#1734
- 修复因远程 bake 上下文解析不正确而导致的 bake 失败问题。docker/buildx#1783
- 修复 bake 上下文中
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 - 在将 VCS 提示 URL 发送给 BuildKit 之前剥离凭据。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 bake 定义时的函数解析问题。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 provenance 信息时的警告。docker/buildx#1568
0.10.1
2023-01-27注意Buildx v0.10 启用了对最小化 SLSA Provenance 证明的支持,这需要支持符合 OCI 标准的多平台镜像。这可能会在镜像仓库和运行时支持方面引入问题(例如 Google Cloud Run 和 AWS Lambda)。您可以选择使用
--provenance=false来禁用默认的 provenance 证明功能。
错误修复和增强
- 修复作为
vsc:source元数据发送正确的源 URL 的问题。docker/buildx#1548 - 修复数据竞争可能导致的 panic。docker/buildx#1504
- 修复
rm --all-inactive的回归问题。docker/buildx#1547 - 通过延迟加载数据来改进
imagetools inspect中的证明访问。docker/buildx#1546 - 正确将功能请求标记为内部请求。docker/buildx#1538
- 检测无效的证明配置。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,用于为当前构建添加证明。docker/buildx#1412 docker/buildx#1475--attest type=sbom或--sbom=true添加 SBOM 证明。--attest type=provenance或--provenance=true添加 SLSA provenance 证明。- 创建 OCI 镜像时,默认会包含一个最小化的 provenance 证明。
- 当使用支持 provenance 证明的 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 - 修复处理带有进度组的进度前缀的问题。docker/buildx#1305
- 修复在 Bake 中递归解析组的问题。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 block)的 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 - 现在,即使构建上下文来自外部 Git 或 HTTP URL,您也可以从标准输入加载 Dockerfile。docker/buildx#994
- 构建命令现在支持新的构建上下文类型
oci-layout://,用于从本地 OCI 布局目录加载构建上下文。请注意,此功能依赖于未发布的 BuildKit 功能,在 BuildKit v0.11 发布之前,需要使用来自moby/buildkit:master的构建器实例。docker/buildx#1173 - 您现在可以使用新的
--print标志来运行执行构建的 BuildKit 前端支持的辅助函数并打印其结果。您可以在 Dockerfile 中使用此功能,通过--print=outline显示当前构建支持的构建参数和 secret,以及通过--print=targets列出所有可用的 Dockerfile 阶段。此功能是实验性的,用于收集早期反馈,并且需要启用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命令现在显示每个构建器实例的当前 BuildKit 版本。docker/buildx#998- 为了兼容性,
bake命令现在在构建 Compose 文件时会自动加载.env文件。docker/buildx#1261 - Bake 现在支持带有
cache_to定义的 Compose 文件。docker/buildx#1155 - Bake 现在支持新的内置函数
timestamp()以访问当前时间。docker/buildx#1214 - Bake 现在支持 Compose 构建 secret 定义。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#1206- 即使源子镜像位于不同的仓库或镜像仓库中,
buildx 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 驱动程序添加 tolerations(容忍度)处理。docker/buildx#1045 docker/buildx#1053
- 在
kubernetes驱动程序中,用securityContext替换已弃用的 seccomp 注解。docker/buildx#1052 - 修复处理具有 nil 平台的清单时出现的 panic。docker/buildx#1144
- 修复在
prune命令中使用 duration 过滤器的问题。docker/buildx#1252 - 修复在 Bake 定义中合并多个 JSON 文件的问题。docker/buildx#1025
- 修复由 Docker 上下文创建的隐式构建器配置无效或连接中断的问题。docker/buildx#1129
- 修复使用命名上下文时显示无输出警告的条件。docker/buildx#968
- 修复当构建器实例和 docker 上下文同名时重复创建构建器的问题。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 规范更新到 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标志,允许访问特定镜像的配置和构建信息。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
- 现在可以通过
-f -从标准输入读取 Bake 文件。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
- 修复使用 rootless 容器时的
UsernsMode。docker/buildx#887
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.7.1
2021-08-25修复
- 修复
.dockerignore中匹配排除规则的问题。docker/buildx#858 - 修复当前组的
bake --printJSON 输出。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-bin Docker 镜像访问 Buildx 二进制文件。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
- 允许来自环境变量的 secret。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环境变量允许用户拥有与 Docker 配置分离的 buildx 状态。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 目标设置新的
pull和no-cache选项。docker/buildx#165
增强功能
- 将 Bake 升级到 HCL2,支持变量和函数。docker/buildx#192
- Bake 现在支持
--load和--push。docker/buildx#164 - Bake 现在支持通配符覆盖多个目标。docker/buildx#164
- 容器驱动程序允许通过
driver-opt设置环境变量。docker/buildx#170
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.3.1
2019-09-27增强功能
- 处理 unix 套接字复制,而不是报错。docker/buildx#155 moby/buildkit#1144
修复
- 使用多个 Compose 文件运行 Bake 现在可以正确合并目标。docker/buildx#134
- 修复从 stdin 构建 Dockerfile (
build -f -) 时的错误。docker/buildx#153
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.3.0
2019-08-02新功能
- 自定义
buildkitd守护进程标志。docker/buildx#102 - 在
create上特定于驱动程序的选项。docker/buildx#122
增强功能
- 在 Compose 文件中使用环境变量。docker/buildx#117
- Bake 现在遵循
--no-cache和--pull。docker/buildx#118 - 自定义 BuildKit 配置文件。docker/buildx#121
- 通过
build --allow支持 Entitlements(授权)。docker/buildx#104
修复
- 修复
--build-arg foo无法从环境中读取foo的错误。docker/buildx#116
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.2.2
2019-05-30增强功能
- 更改 Compose 文件处理方式,要求有效的服务规范。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 文件中解析 target 的问题。docker/buildx#53
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。
0.2.0
2019-04-25新功能
- 首次发布
更多详情,请参阅 Buildx GitHub 仓库中的完整发布说明。