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 - 新的
InvalidDefinitionDescriptionBuild 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说明现在支持对--chmodoption 值。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- 添加新的验证规则:
SecretsUsedInArgOrEnvInvalidDefaultArgInFromRedundantTargetPlatformCopyIgnoredFile(实验性)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 是否正在使用最佳实践。这些规则在构建和新建期间进行验证
checkfrontend 方法只能用于触发验证,而不完成整个构建。 - 新指令
#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- 新增功能
--parentsflag 已添加到COPY用于复制文件,同时保持父目录结构。moby/buildkit#4598、moby/buildkit#3001、moby/buildkit#4720、moby/buildkit#4728、文档 - 新增功能
--excludeflag 可用于COPY和ADD命令将过滤器应用于复制的文件。moby/buildkit#4561,文档
1.6.0
2023-06-13新增功能
- 加
--start-intervalflag 添加到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_HOSTNAMEbuild-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定义