Dockerfile 发行说明
目录
此页面包含有关新功能、改进、已知 问题和 Bug 修复在 Dockerfile 参考中。
有关用法,请参阅 Dockerfile 前端语法页面。
1.12.0
2024-11-27GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.12.0
- 修复具有多个的 image configuration 的 History 行中的错误描述
ARG
指示。moby/buildkit#5508
1.11.1
2024-11-08GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.11.1
- 修复使用
ONBUILD
指令。白鲸/buildkit#5490
1.11.0
2024-10-30GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.11.0
- 这
ONBUILD
指令现在支持引用其他阶段或镜像的命令from
如COPY --from
或RUN mount=from=...
.白鲸/buildkit#5357 - 这
SecretsUsedInArgOrEnv
改进了 Build Check 以减少误报。白鲸/buildkit#5208 - 新的
InvalidDefinitionDescription
Build Check 建议对 Build Arguments 和 Stages Description(构建参数)和 Stages Description(阶段描述)的注释进行格式设置。这是一项实验性检查。moby/buildkit#5208、moby/buildkit#5414 - 对
ONBUILD
指令的进度和错误处理。白鲸/buildkit#5397 - 改进了缺少标志错误的错误报告。白鲸/buildkit#5369
- 增强了作为环境变量挂载的密钥值的进度输出。白鲸/buildkit#5336
- 添加了内置的 build 参数
TARGETSTAGE
公开当前构建的 (最终) 目标阶段的名称。白鲸/buildkit#5431
1.11.0-实验室
COPY --chmod
现在支持非八进制值。moby/buildkit#5380
1.10.0
2024-09-10GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.10.0
- 构建密钥现在可以使用
env=VARIABLE
选择。moby/buildkit#5215 - 这
# check
命令现在允许新的 experimental 属性来启用 experimental 验证规则,例如CopyIgnoredFile
.白鲸/buildkit#5213 - 改进对变量替换的不支持修饰符的验证。moby/buildkit#5146
ADD
和COPY
说明现在支持对--chmod
option 值。moby/buildkit#5151- 改进
--chmod
选项COPY
和ADD
指示。moby/buildkit#5148 - 修复挂载时缺少 size 和 destination 属性的补全问题。白鲸/buildkit#5245
- OCI 注释现在设置为 Dockerfile 前端发布镜像。白鲸/buildkit#5197
1.9.0
2024-07-11GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.9.0
- 添加新的验证规则:
SecretsUsedInArgOrEnv
InvalidDefaultArgInFrom
RedundantTargetPlatform
CopyIgnoredFile
(实验性)FromPlatformFlagConstDisallowed
- 使用大型 Dockerfile 的许多性能改进。moby/buildkit#5067、moby/buildkit#5029
- 修复在构建未定义阶段的 Dockerfile 时可能出现的 panic。白鲸/buildkit#5150
- 修复不正确的 JSON 解析,这可能会导致传递一些不正确的 JSON 值而不会产生错误。白鲸/buildkit#5107
- 修复
COPY --link
目标路径为.
可能会失败。白鲸/buildkit#5080 - 修复 的验证
ADD --checksum
与 Git URL 一起使用时。白鲸/buildkit#5085
1.8.1
2024-06-18GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.8.1
错误修复和增强功能
- 修复了变量扩展时空字符串的处理。白鲸/buildkit#5052
- 改进构建警告的格式设置。moby/buildkit#5037、moby/buildkit#5045、moby/buildkit#5046
- 修复 可能出现的无效输出
UndeclaredVariable
多阶段构建的警告。moby/buildkit#5048
1.8.0
2024-06-11GitHub 上提供了此版本的完整发行说明。
# syntax=docker/dockerfile:1.8.0
- 添加了许多新的验证规则,以验证您的 Dockerfile 是否正在使用最佳实践。这些规则在构建和新建期间进行验证
check
frontend 方法只能用于触发验证,而不完成整个构建。 - 新指令
#check
并构建参数BUILDKIT_DOCKERFILE_CHECK
用于控制 Behavior 或 Build Checks。白鲸/buildkit#4962 - 现在,将验证使用与您的预期平台不匹配的单平台基础镜像。白鲸/buildkit#4924
- 扩展 的错误
ARG
现在可以正确处理 global 范围内的定义。moby/buildkit#4856 - 扩展了默认值
ARG
现在,仅当它未被用户覆盖时才会发生。以前,扩展已完成,后来忽略了 value,这可能会导致意外的扩展错误。moby/buildkit#4856 - 改进了解析具有许多阶段的大型 Dockerfile 的性能。白鲸/buildkit#4970
- 修复一些 Windows 路径处理一致性错误。白鲸/buildkit#4825
1.7.0
2024-03-06稳定
# syntax=docker/dockerfile:1.7
- 变量扩展现在允许字符串替换和修剪。moby/buildkit#4427、moby/buildkit#4287
- 具有本地源的命名上下文现在可以正确地仅传输 Dockerfile 中使用的文件,而不是完整的源目录。白鲸/buildkit#4161
- Dockerfile 现在可以更好地验证阶段的顺序,如果阶段的顺序不正确,则会返回带有堆栈跟踪的 nice 错误。moby/buildkit#4568、moby/buildkit#4567
- 历史提交消息现在包含与
COPY
和ADD
.moby/buildkit#4597 - 的进度消息
ADD
来自 Git 和 HTTP 源的命令已得到改进。白鲸/buildkit#4408
实验室
# syntax=docker/dockerfile:1.7-labs
- 新增功能
--parents
flag 已添加到COPY
用于复制文件,同时保持父目录结构。moby/buildkit#4598、moby/buildkit#3001、moby/buildkit#4720、moby/buildkit#4728、文档 - 新增功能
--exclude
flag 可用于COPY
和ADD
命令将过滤器应用于复制的文件。moby/buildkit#4561,文档
1.6.0
2023-06-13新增功能
- 加
--start-interval
flag 添加到HEALTHCHECK
指令.
以下功能已从 labs 频道升级到稳定版:
- 这
ADD
指令现在可以直接从 Git URL 导入文件 - 这
ADD
指令现在支持--checksum
旗验证远程 URL 内容的内容
错误修复和增强功能
- 变量替换现在支持其他 POSIX 兼容变体,而无需
:
.白鲸/buildkit#3611 - 导出的 Windows 镜像现在包含来自基础镜像的 OSVersion 和 OSFeatures 值。白鲸/buildkit#3619
- 将 Heredocs 的权限更改为 0644。白鲸/buildkit#3992
1.5.2
2023-02-14错误修复和增强功能
- 修复从缺少分支名称但包含 子目录
- 386 平台镜像现在包含在此版本中
1.5.1
2023-01-18错误修复和增强功能
- 修复了在多平台构建中出现警告条件时可能出现的 panic
1.5.0 (实验室)
2023-01-10实验的
“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。
新增功能
ADD
命令现在支持--checksum
旗验证远程 URL 内容的内容
1.5.0
2023-01-10新增功能
ADD
命令现在可以直接从 Git URL 导入文件
错误修复和增强功能
- 命名上下文现在支持
oci-layout://
包含来自 本地 OCI 布局结构 - Dockerfile 现在支持列出所有构建目标或 打印特定构建目标的接受参数的大纲
- Dockerfile 文件
#syntax
重定向到外部前端镜像的指令 现在还允许使用 comments 或 JSON 设置指令。文件 还可能包含 Shebang 标头//
- 现在可以使用空的暂存镜像初始化命名上下文
- 命名上下文现在可以使用 SSH Git URL 进行初始化
- 修复
ONBUILD
导入 Schema1 镜像时
1.4.3
2022-08-23错误修复和增强功能
- 修复了从 构建镜像时创建时间戳未重置的问题
docker-image://
命名上下文 - 修复传递问题
--platform
的标志FROM
命令docker-image://
命名上下文
1.4.2
2022-05-06错误修复和增强功能
- 修复了从使用 built 传递的镜像中加载某些环境变量的问题 上下文
1.4.1
2022-04-08错误修复和增强功能
- 修复了 input 时来自输入的交叉编译情况的命名上下文解析 专为不同的平台而构建
1.4.0
2022-03-09新增功能
COPY --link
和ADD --link
允许以更高的缓存效率复制文件,并在没有 要求他们重建。--link
将文件复制到单独的图层,然后 然后使用新的 LLB MergeOp 实现将独立层链接在一起- 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
和COPY
命令现在支持 Here-document 语法,允许编写多行内联脚本和文件
1.3.0
2021-07-16新增功能
RUN
命令允许--network
旗用于请求特定类型的网络条件。--network=host
需要允许network.host
权利。此功能以前是 仅在 Labs 频道上可用
错误修复和增强功能
ADD
命令现在可以正确处理--chmod
旗- 的值
RUN --mount
旗现在支持变量扩展,除了from
田 - 允许
BUILDKIT_MULTI_PLATFORM
构建 arg强制始终创建多平台镜像,即使只包含单个 平台
1.2.1 (实验室)
2020-12-12实验的
“labs” 通道提供对 Dockerfile 功能的早期访问,这些功能不是 但在 stable 频道中可用。
错误修复和增强功能
RUN
命令允许--network
旗用于请求特定类型的网络条件。--network=host
需要允许network.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
标志输入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
构建 arg
1.1.2
2019-07-31错误修复和增强功能
- 使用正确的用户修复 workdir 创建问题,并且不重置自定义所有权
- 修复了空 build args 的处理问题,这些参数也用作
ENV
- 检测循环依赖关系
1.1.0
2019-04-27新增功能
ADD/COPY
命令现在支持基于llb.FileOp
并执行 如果内置文件作支持可用,则不需要帮助程序镜像--chown
的标志COPY
命令现在支持变量扩展
错误修复和增强功能
- 要查找从构建上下文中忽略的文件,Dockerfile 前端将
首次查找文件
<path/to/Dockerfile>.dockerignore
如果不是 发现.dockerignore
文件将从构建的根目录开始查找 上下文。这允许具有多个 Dockerfile 的项目使用不同的.dockerignore
定义