构建发布说明

本页面包含有关Docker Buildx的新功能、改进和错误修复的信息。

0.19.1

2024-11-27

此版本的完整发布说明可在 GitHub上查看。

Bug 修复

  • 撤销了在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.

    要允许文件系统权限,请使用--allow fs.read=标志为docker buildx bake命令。

    此功能目前仅在使用本地Bake定义时报告警告,但从v0.20版本开始将开始产生错误。要在当前版本中启用错误,您可以设置BUILDX_BAKE_ENTITLEMENTS_FS=1

增强功能

Bug 修复

打包

0.18.0

2024-10-31

此版本的完整发布说明可在 GitHub上查看。

  • docker buildx inspect 命令现在显示使用 TOML 文件设置的 BuildKit 守护程序配置选项。 docker/buildx#2684
  • 默认情况下,docker buildx ls 命令的输出现在更加紧凑,通过压缩平台列表。可以使用新的 --no-trunc 选项来获取完整列表。 docker/buildx#2138, docker/buildx#2717
  • 现在,docker buildx prune 命令支持新的 --max-used-space--min-free-space 过滤器,适用于 BuildKit v0.17.0+ 构建器。 docker/buildx#2766

增强功能

Bug 修复

包装

0.17.1

2024-09-13

此版本的完整发布说明可在 GitHub上查看。

Bug 修复

0.17.0

2024-09-10

此版本的完整发布说明可在 GitHub上查看。

增强功能

Bug 修复

包装更新

0.16.2

2024-07-25

此版本的完整发布说明可在 GitHub上查看。

Bug 修复

  • 修复将本地缓存导出到NFS卷时可能出现的“坏文件描述符”错误 docker/buildx#2629

0.16.1

2024-07-18

此版本的完整发布说明可在 GitHub上查看。

Bug 修复

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
  • 烘焙定义变量和目标支持新的description属性,用于定义基于文本的描述,可以使用例如--list-targets--list-variables进行检查。 docker/buildx#2556
  • Bake 现在支持为构建检查违规打印警告。 docker/buildx#2501

增强功能

Bug 修复

包装更新

0.15.1

2024-06-18

此版本的完整发布说明可在 GitHub上查看。

Bug 修复

  • 修复了使用--check时某些验证请求缺少构建错误和退出代码的问题。 docker/buildx#2518
  • 更新 --check 的回退镜像为 Dockerfile v1.8.1。 docker/buildx#2538

0.15.0

2024-06-11

此版本的完整发布说明可在 GitHub上查看。

包装更新

0.14.0

2024-04-18

此版本的完整发布说明可在 GitHub上查看。

增强功能

Bug 修复

  • 修复了当与多个Bake文件定义一起使用时,--load--push 错误地覆盖输出的问题。 docker/buildx#2336
  • 修复在启用实验模式时从标准输入构建的问题。 docker/buildx#2394
  • 修复了一个问题,其中委托的跟踪可能会被重复。 docker/buildx#2362

包装更新

0.13.1

2024-03-13

此版本的完整发布说明可在 GitHub上查看。

Bug 修复

  • 修复连接到docker-container://kube-pod://样式URL时使用远程驱动的问题。 docker/buildx#2327
  • 修复了当目标已经定义了非图像输出时,使用Bake处理--push的问题。 docker/buildx#2330

0.13.0

2024-03-06

此版本的完整发布说明可在 GitHub上查看。

增强功能

Bug 修复

0.12.1

2024-01-12

此版本的完整发布说明可在GitHub上查看。

Bug修复和增强

  • 修复了一些--driver-opt值的错误验证,这些错误可能导致恐慌并存储损坏的状态。 docker/buildx#2176

0.12.0

2023-11-16

此版本的完整发布说明可在 GitHub上查看。

  • 新增 --annotation 标志用于 buildx build,以及在 Bake 文件中新增 annotations 键,允许您为构建结果添加 OCI 注释。 #2020, #2098
  • 新的实验性调试功能,包括一个新的debug命令和一个交互式调试控制台。 此功能目前需要设置BUILDX_EXPERIMENTAL=1#2006, #1896, #1970, #1914, #2026, #2086

Bug fixes and enhancements

  • 特殊的 host-gateway IP 映射现在可以在构建时与 --add-host 标志一起使用。 #1894, #2083
  • Bake 现在允许在从远程定义构建时添加本地源文件。 #1838
  • 现在在进度条上交互式显示将构建结果上传到Docker的状态。 #1994
  • 在引导多节点构建集群时,错误处理已得到改进。 #1869
  • buildx imagetools create 命令现在允许在注册表中创建新镜像时添加注释。 #1965
  • 现在可以通过Docker和Remote驱动程序从buildx构建OpenTelemetry跟踪委托。 #2034
  • Bake 命令现在会在进度条上显示所有加载构建定义的文件。 #2076
  • Bake 文件现在允许在多个定义文件中定义相同的属性。 #1062
  • 使用Bake命令与远程定义现在允许此定义使用本地Dockerfiles。 #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

包装

  • Compose 支持已更新至 1.20,在使用 Bake 命令时启用了 "include" 功能。 #1971, #2065, #2094

0.11.2

2023-07-18

此版本的完整发布说明可在 GitHub上查看。

Bug修复和增强

  • 修复了一个导致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
  • 修复在构建过程中调整终端大小时可能出现的崩溃问题。 docker/buildx#1929

0.11.0

2023-06-13

此版本的完整发布说明可在 GitHub上查看。

Bug修复和增强功能

  • --load 现在支持在启用 containerd 镜像存储时加载多平台镜像。 docker/buildx#1813
  • 构建进度输出现在显示正在使用的构建器的名称。 docker/buildx#1177
  • Bake 现在支持检测 compose.{yml,yaml} 文件。 docker/buildx#1752
  • Bake 现在支持新的 compose 构建键 dockerfile_inlineadditional_contextsdocker/buildx#1784
  • Bake 现在支持替换 HCL 函数。 docker/buildx#1720
  • Bake 现在允许将多个类似的认证参数合并为一个参数,以便使用单个全局值进行覆盖。 docker/buildx#1699
  • 初步支持 shell 自动补全。 docker/buildx#1727
  • BuildKit 版本现在在使用 docker 驱动程序的构建器中正确显示在 buildx lsbuildx inspect 中。 docker/buildx#1552
  • 在buildx检查视图中显示额外的构建器节点详细信息。 docker/buildx#1440, docker/buildx#1854
  • 使用remote驱动程序的构建者允许使用TLS而无需提供自己的密钥/证书(如果BuildKit远程配置为支持它) docker/buildx#1693
  • 使用kubernetes驱动程序的构建器支持一个新的serviceaccount选项, 该选项设置Kubernetes pod的serviceAccountNamedocker/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
  • 修复当远程烘焙上下文错误解析时导致的烘焙失败问题。 docker/buildx#1783
  • 修复在bake上下文中BAKE_CMD_CONTEXTcwd://路径的解析问题。 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 来禁用默认的证明功能。

Bug修复和增强

  • 添加 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 认证功能。

Bug fixes and enhancements

0.10.2

2023-01-30

注意

Buildx v0.10 支持最小化的 SLSA Provenance 证明,这需要支持 OCI兼容 多平台镜像。这可能会引入注册表和运行时支持的问题 (例如 Google Cloud Run 和 AWS Lambda)。 你可以选择使用 --provenance=false 来禁用默认的证明功能。

Bug修复和增强功能

0.10.1

2023-01-27

注意

Buildx v0.10 支持最小化的 SLSA Provenance 证明,这需要支持 OCI兼容 多平台镜像。这可能会引入注册表和运行时支持的问题 (例如 Google Cloud Run 和 AWS Lambda)。 你可以选择使用 --provenance=false 来禁用默认的证明功能。

错误修复和增强功能

0.10.0

2023-01-10

注意

Buildx v0.10 支持最小化的 SLSA Provenance 证明,这需要支持 OCI兼容 多平台镜像。这可能会引入注册表和运行时支持的问题 (例如 Google Cloud Run 和 AWS Lambda)。 你可以选择使用 --provenance=false 来禁用默认的证明功能。

升级

错误修复和增强功能

0.9.1

2022-08-18

Bug fixes and enhancements

  • inspect 命令现在显示正在使用的 BuildKit 版本。 docker/buildx#1279
  • 修复了在构建包含没有构建块服务的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布局目录加载构建上下文。 请注意,此功能依赖于尚未发布的BuildKit功能,并且需要使用来自 moby/buildkit:master 的构建器实例,直到BuildKit v0.11发布。 docker/buildx#1173
  • 您现在可以使用新的--print标志来运行由BuildKit前端支持的辅助函数,执行构建并打印其结果。您可以在Dockerfile中使用此功能来显示当前构建支持的构建参数和机密,使用--print=outline,并列出所有可用的Dockerfile阶段,使用--print=targets。此功能是实验性的,用于收集早期反馈,并需要启用BUILDX_EXPERIMENTAL=1环境变量。我们计划在未来更新/扩展此功能,而不保持向后兼容性。 docker/buildx#1100, docker/buildx#1272
  • 您现在可以使用新的--invoke标志从构建结果启动交互式容器,以进行交互式调试循环。您可以通过代码更改重新加载这些容器,或从特殊的监视模式将它们恢复到初始状态。此功能是实验性的,用于收集早期反馈,并需要启用BUILDX_EXPERIMENTAL=1环境变量。我们计划在未来更新/扩展此功能,而无需启用向后兼容性。 docker/buildx#1168, docker/buildx#1257, docker/buildx#1259
  • Buildx 现在可以理解环境变量 BUILDKIT_COLORSNO_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 构建秘密定义。 docker/buildx#1069
  • 现在在Compose文件中通过x-bake支持额外的构建上下文配置。 docker/buildx#1256
  • 检查构建器现在显示当前驱动程序选项配置。 docker/buildx#1003, docker/buildx#1066

更新

Bug修复和增强

  • buildx ls 命令的输出已更新,以便更好地访问来自不同构建器的错误。 docker/buildx#1109
  • buildx 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驱动添加容忍处理。 docker/buildx#1045 docker/buildx#1053
  • kubernetes驱动程序中,使用securityContext替换已弃用的seccomp注释。 docker/buildx#1052
  • 修复处理带有nil平台的清单时的panic问题。 docker/buildx#1144
  • 修复使用prune命令时的持续时间过滤器问题。 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
  • 修复图像工具命令未正确处理--builder标志的问题。 docker/buildx#1067
  • 修复了与无根选项一起使用自定义镜像的问题。 docker/buildx#1063

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.8.2

2022-04-04

更新

  • 更新buildx bake使用的Compose规范到v1.2.1,以修复解析端口定义的问题。 docker/buildx#1033

Bug fixes and enhancements

  • 修复处理来自BuildKit v0.10的进度流时可能发生的崩溃。 docker/buildx#1042
  • 修复在buildx bake中解析组时,当组已被父组加载时的问题。 docker/buildx#1021

有关更多详细信息,请参阅Buildx GitHub 仓库中的完整发布说明。

0.8.1

2022-03-21

Bug fixes and enhancements

  • 修复处理构建上下文扫描错误时可能出现的恐慌。 docker/buildx#1005
  • 允许在buildx bake中的Compose目标名称上使用.以保持向后兼容性。 docker/buildx#1018

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.8.0

2022-03-09

Bug fixes and enhancements

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.7.1

2021-08-25

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.7.0

2021-11-10

新功能

增强功能

  • 允许使用自定义注册表配置从客户端进行多节点推送。 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

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.6.3

2021-08-30

修复

有关更多详细信息,请参阅 Buildx GitHub 仓库中的完整发布说明。

0.6.2

2021-08-21

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

修复

0.6.1

2021-07-30

增强功能

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.6.0

2021-07-16

新功能

增强功能

修复

  • imagetools create 命令现在正确地合并了JSON描述符与旧的描述符。 docker/buildx#592
  • 修复使用--network=none构建时不需要额外安全权限的问题。 docker/buildx#531

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.5.1

2020-12-15

修复

  • 修复在kubernetes驱动之外设置--platformbuildx create上的回归问题。 docker/buildx#475

有关更多详细信息,请参阅 Buildx GitHub 仓库中的完整发布说明。

0.5.0

2020-12-15

新功能

增强功能

修复

  • 处理小写的Dockerfile名称作为向后兼容的备用方案。 docker/buildx#444

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.4.2

2020-08-22

新功能

增强功能

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.4.1

2020-05-01

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.4.0

2020-04-30

新功能

增强功能

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.3.1

2019-09-27

增强功能

修复

  • 现在使用多个Compose文件运行Bake时,目标会正确合并。 docker/buildx#134
  • 修复从标准输入构建Dockerfile时的错误(build -f -)。 docker/buildx#153

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.3.0

2019-08-02

新功能

增强功能

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.2.2

2019-05-30

增强功能

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.2.1

2019-05-25

新功能

增强功能

修复

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.

0.2.0

2019-04-25

新功能

  • 首次发布

更多详情,请参阅完整的发布说明在 Buildx GitHub 仓库.