Dockerfile 发行说明

此页面包含有关新功能、改进、已知 问题和 Bug 修复在 Dockerfile 参考中。

有关用法,请参阅 Dockerfile 前端语法页面。

1.12.0

2024-11-27

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.12.0
  • 使用多个说明修复镜像配置的 History 行中的错误描述。moby/buildkit#5508ARG

1.11.1

2024-11-08

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.11.1
  • 修复了在同一 Dockerfile 中继承的阶段中使用指令时的回归问题。白鲸/buildkit#5490ONBUILD

1.11.0

2024-10-30

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.11.0

1.11.0-实验室

1.10.0

2024-09-10

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.10.0

1.9.0

2024-07-11

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.9.0
  • 添加新的验证规则:
    • SecretsUsedInArgOrEnv
    • InvalidDefaultArgInFrom
    • RedundantTargetPlatform
    • CopyIgnoredFile(实验性)
    • FromPlatformFlagConstDisallowed
  • 使用大型 Dockerfile 的许多性能改进。moby/buildkit#5067moby/buildkit#5029
  • 修复在构建未定义阶段的 Dockerfile 时可能出现的 panic。白鲸/buildkit#5150
  • 修复不正确的 JSON 解析,这可能会导致传递一些不正确的 JSON 值而不会产生错误。白鲸/buildkit#5107
  • 修复目标路径为 时可能失败的回归。白鲸/buildkit#5080COPY --link.
  • 修复了与 Git URL 一起使用时的验证。白鲸/buildkit#5085ADD --checksum

1.8.1

2024-06-18

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.8.1

错误修复和增强功能

1.8.0

2024-06-11

GitHub提供了此版本的完整发行说明。

# syntax=docker/dockerfile:1.8.0
  • 添加了许多新的验证规则,以验证您的 Dockerfile 是否正在使用最佳实践。这些规则在构建过程中进行验证,新的 frontend 方法可用于仅触发验证,而不完成整个构建。check
  • new directive 和 build 参数允许您控制行为或构建检查。白鲸/buildkit#4962#checkBUILDKIT_DOCKERFILE_CHECK
  • 现在,将验证使用与您的预期平台不匹配的单平台基础镜像。白鲸/buildkit#4924
  • 现在可以正确处理在全局范围内扩展定义的错误。moby/buildkit#4856ARG
  • 仅当用户未覆盖默认值 now 时,才会扩展默认值 now。以前,扩展已完成,后来忽略了 value,这可能会导致意外的扩展错误。moby/buildkit#4856ARG
  • 改进了解析具有许多阶段的大型 Dockerfile 的性能。白鲸/buildkit#4970
  • 修复一些 Windows 路径处理一致性错误。白鲸/buildkit#4825

1.7.0

2024-03-06

稳定

# syntax=docker/dockerfile:1.7

实验室

# syntax=docker/dockerfile:1.7-labs

1.6.0

2023-06-13

新增功能

以下功能已从 labs 频道升级到稳定版:

错误修复和增强功能

1.5.2

2023-02-14

错误修复和增强功能

  • 修复从缺少分支名称但包含 子目录
  • 386 平台镜像现在包含在此版本中

1.5.1

2023-01-18

错误修复和增强功能

  • 修复了在多平台构建中出现警告条件时可能出现的 panic

1.5.0 (实验室)

2023-01-10

实验的

“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。

新增功能

1.5.0

2023-01-10

新增功能

错误修复和增强功能

  • 命名上下文现在支持包含来自 本地 OCI 布局结构oci-layout://
  • Dockerfile 现在支持列出所有构建目标或 打印特定构建目标的接受参数的大纲
  • 重定向到外部前端镜像的 Dockerfile 指令 现在还允许使用 comments 或 JSON 设置指令。文件 还可能包含 Shebang 标头#syntax//
  • 现在可以使用空的暂存镜像初始化命名上下文
  • 命名上下文现在可以使用 SSH Git URL 进行初始化
  • 修复了导入 Schema1 镜像时的处理ONBUILD

1.4.3

2022-08-23

错误修复和增强功能

  • 修复从命名上下文构建镜像时未重置创建时间戳的问题docker-image://
  • 修复了在加载命名上下文时传递命令标志的问题--platformFROMdocker-image://

1.4.2

2022-05-06

错误修复和增强功能

  • 修复了从使用 built 传递的镜像中加载某些环境变量的问题 上下文

1.4.1

2022-04-08

错误修复和增强功能

  • 修复了 input 时来自输入的交叉编译情况的命名上下文解析 专为不同的平台而构建

1.4.0

2022-03-09

新增功能

  • COPY --linkADD --link 允许复制缓存效率更高的文件,并在没有 要求他们重建。 将文件复制到单独的图层,然后 然后使用新的 LLB MergeOp 实现将独立层链接在一起--link
  • Heredocs 支持有 已从 Labs 频道提升为稳定版。此功能允许写入 多行内联脚本和文件
  • 可以将其他命名的构建上下文传递给 build,以添加或覆盖 建。上下文的源可以是本地源、镜像、Git 或 HTTP URL
  • BUILDKIT_SANDBOX_HOSTNAME build-arg 可用于设置步骤的默认主机名RUN

错误修复和增强功能

  • 使用交叉编译阶段时,步骤的目标平台现在是 在 Progress 输出上看到
  • 修复 Heredocs 错误地从内容中删除引号的一些情况

1.3.1

2021-10-04

错误修复和增强功能

  • 修复了解析没有值的 “required” 挂载键的问题

1.3.0 (实验室)

2021-07-16

实验的

“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。

新增功能

  • RUN命令现在支持 Here 文档语法,允许编写多行内联脚本和文件COPY

1.3.0

2021-07-16

新增功能

  • RUN命令允许 --network 标志来请求特定类型的网络条件。 需要 Allow entitlement。此功能以前是 仅在 Labs 频道上可用--network=hostnetwork.host

错误修复和增强功能

1.2.1 (实验室)

2020-12-12

实验的

“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。

错误修复和增强功能

  • RUN命令允许 --network 标志来请求特定类型的网络条件。 需要 允许 授权--network=hostnetwork.host

1.2.1

2020-12-12

错误修复和增强功能

  • 还原 “确保 ENTRYPOINT 命令至少有一个参数”
  • 优化多平台交叉编译版本上的处理调用COPY

1.2.0 (实验室)

2020-12-03

实验的

“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。

错误修复和增强功能

  • 实验频道已重命名为 labs

1.2.0

2020-12-03

新增功能

  • 的 RUN --mount 语法 创建 secret、ssh、bind 和 cache 挂载已移至 mainline 渠道
  • ARG 命令现在支持定义 同一行上的多个 build args,类似于ENV

错误修复和增强功能

  • 元数据加载错误现在作为致命错误处理,以避免不正确的构建结果
  • 允许小写 Dockerfile 名称
  • --chown标志 in 现在允许参数扩展ADD
  • ENTRYPOINT需要至少一个参数以避免创建损坏的镜像

1.1.7

2020-04-18

错误修复和增强功能

  • 转发到网关FrontendInputs

1.1.2 (实验性)

2019-07-31

实验的

“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。

错误修复和增强功能

  • 允许为具有RUN --security=sandbox|insecure
  • 允许为缓存挂载设置 uid/gid
  • 避免请求拉取内部链接的路径以构建上下文
  • 确保缺少的缓存 ID 默认为目标路径
  • 允许使用 BUILDKIT_CACHE_MOUNT_NS build arg 为缓存挂载设置命名空间

1.1.2

2019-07-31

错误修复和增强功能

  • 使用正确的用户修复 workdir 创建问题,并且不重置自定义所有权
  • 修复了空 build args 的处理问题,这些参数也用作ENV
  • 检测循环依赖关系

1.1.0

2019-04-27

新增功能

  • ADD/COPY命令现在支持基于 和 Do 的实现 如果内置文件操作支持可用,则不需要帮助程序镜像llb.FileOp
  • --chown命令的标志现在支持变量扩展COPY

错误修复和增强功能

  • 要查找从构建上下文中忽略的文件,Dockerfile 前端将 首先查找文件,如果不是 找到的文件将从构建的根目录开始查找 上下文。这允许具有多个 Dockerfile 的项目使用不同的定义<path/to/Dockerfile>.dockerignore.dockerignore.dockerignore