生成检查
BuildKit 内置了对基于 用于实施 Dockerfile 和构建最佳实践的预定义规则集。 遵守这些规则有助于避免错误并确保 Dockerfile 文件。
检查作为构建调用运行,但它不会生成构建输出
执行一系列检查以验证您的生成是否未违反任何
规则。要运行检查,请使用--check
旗:
$ docker build --check .
要了解有关如何使用构建检查的更多信息,请参阅检查您的构建配置。
名字 | 描述 |
---|---|
StageName大小写 | 阶段名称应为小写 |
FromAsCasing | 'as' 关键字应与 'from' 关键字的大小写匹配 |
NoEmptyContinuation | 空的连续行将在将来的版本中成为错误 |
ConsistentInstruction大小写 | Dockerfile 中的所有命令都应使用相同的大小写(大写或小写) |
DuplicateStageName (重复舞台名称) | 阶段名称应是唯一的 |
保留舞台名称 | 保留字不应用于阶段名称 |
JSONArgs推荐 | 建议用于 ENTRYPOINT/CMD 的 JSON 参数,以防止与作系统信号相关的意外行为 |
Maintainer已弃用 | MAINTAINER 指令已弃用,请改用标签来定义镜像作者 |
UndefinedArgInFrom | FROM 命令必须使用声明的 ARG |
WorkdirRelativePath | 如果基础镜像发生更改,则在构建中没有声明绝对 workdir 的相对 workdir 可能会产生意外结果 |
未定义变量 | 变量应在使用之前定义 |
MultipleInstructionsDisallowed (不允许的多个指令) | 同一阶段不应使用同一类型的多个指令 |
LegacyKeyValueFormat | 不应使用带有空格分隔符的传统键/值格式 |
RedundantTarget平台 | 在 FROM 中将 platform 设置为预定义$TARGETPLATFORM是多余的,因为这是默认行为 |
SecretsUsedInArgOrEnv | 敏感数据不应在 ARG 或 ENV 命令中使用 |
无效的 DefaultArgInFrom | 全局 ARG 的默认值导致基础镜像名称为空或无效 |
FromPlatformFlagConstDisallowed | FROM --platform 标志不应使用常量值 |
CopyIgnoredFile(实验性) | 尝试复制被 .dockerignore 排除的文件 |
InvalidDefinitionDescription(实验性) | 构建阶段或参数的注释应遵循以下格式:'# |