生成检查
BuildKit 内置了对基于 用于实施 Dockerfile 和构建最佳实践的预定义规则集。 遵守这些规则有助于避免错误并确保 Dockerfile 文件。
检查作为构建调用运行,但它不会生成构建输出
执行一系列检查以验证您的生成是否未违反任何
规则。要运行检查,请使用--check旗:
$ docker build --check .
要了解有关如何使用构建检查的更多信息,请参阅检查您的构建配置。
| 名字 | 描述 |
|---|---|
| StageName大小写 | 阶段名称应为小写 |
| FromAsCasing | 'as' 关键字应与 'from' 关键字的大小写匹配 |
| NoEmptyContinuation | 空的连续行将在将来的版本中成为错误 |
| ConsistentInstruction大小写 | Dockerfile 中的所有命令都应使用相同的大小写(大写或小写) |
| DuplicateStageName (重复舞台名称) | 阶段名称应是唯一的 |
| ReservedStageName | 保留字不应用于阶段名称 |
| 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(实验性) | 构建阶段或参数的注释应遵循以下格式:'# |