生成检查


BuildKit 内置了对基于 用于实施 Dockerfile 和构建最佳实践的预定义规则集。 遵守这些规则有助于避免错误并确保 Dockerfile 文件。

检查作为构建调用运行,但它不会生成构建输出 执行一系列检查以验证您的生成是否未违反任何 规则。要运行检查,请使用--check旗:

$ docker build --check .

要了解有关如何使用构建检查的更多信息,请参阅检查您的构建配置

名字描述
StageName大小写阶段名称应为小写
FromAsCasing'as' 关键字应与 'from' 关键字的大小写匹配
NoEmptyContinuation空的连续行将在将来的版本中成为错误
ConsistentInstruction大小写Dockerfile 中的所有命令都应使用相同的大小写(大写或小写)
DuplicateStageName (重复舞台名称)阶段名称应是唯一的
保留舞台名称保留字不应用于阶段名称
JSONArgs推荐建议用于 ENTRYPOINT/CMD 的 JSON 参数,以防止与作系统信号相关的意外行为
Maintainer已弃用MAINTAINER 指令已弃用,请改用标签来定义镜像作者
UndefinedArgInFromFROM 命令必须使用声明的 ARG
WorkdirRelativePath如果基础镜像发生更改,则在构建中没有声明绝对 workdir 的相对 workdir 可能会产生意外结果
未定义变量变量应在使用之前定义
MultipleInstructionsDisallowed (不允许的多个指令)同一阶段不应使用同一类型的多个指令
LegacyKeyValueFormat不应使用带有空格分隔符的传统键/值格式
RedundantTarget平台在 FROM 中将 platform 设置为预定义$TARGETPLATFORM是多余的,因为这是默认行为
SecretsUsedInArgOrEnv敏感数据不应在 ARG 或 ENV 命令中使用
无效的 DefaultArgInFrom全局 ARG 的默认值导致基础镜像名称为空或无效
FromPlatformFlagConstDisallowedFROM --platform 标志不应使用常量值
CopyIgnoredFile(实验性)尝试复制被 .dockerignore 排除的文件
InvalidDefinitionDescription(实验性)构建阶段或参数的注释应遵循以下格式:'# '。如果这不是描述注释,请在说明和注释之间添加空行或注释。