构建检查


BuildKit 内置支持根据一组预定义规则分析您的构建配置,以强制执行 Dockerfile 和构建最佳实践。遵守这些规则有助于避免错误并确保您的 Dockerfile 具有良好的可读性。

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

$ docker build --check .

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

名称描述
阶段名称大小写一致阶段名称应为小写
From As 大小写一致'as' 关键字的大小写应与 'from' 关键字匹配
没有空续行空的续行将在未来版本中成为错误
指令大小写一致Dockerfile 中的所有命令应使用相同的大小写(大写或小写)
重复的阶段名称阶段名称应唯一
保留的阶段名称保留字不应作为阶段名称使用
推荐使用 JSON 参数推荐 ENTRYPOINT/CMD 使用 JSON 参数,以防止与操作系统信号相关的意外行为
MAINTAINER 已弃用MAINTAINER 指令已弃用,请改用 label 来定义镜像作者
From 中未定义的参数FROM 命令必须使用已声明的 ARGs
Workdir 相对路径如果基础镜像发生变化,未在构建中声明绝对 workdir 的相对 workdir 可能会产生意外结果
未定义的变量变量在使用前应先定义
禁止使用多个相同指令同一阶段不应使用多个相同类型的指令
旧版键值格式不应使用以空格分隔的旧版键值格式
多余的目标平台在 FROM 中将 platform 设置为预定义的 $TARGETPLATFORM 是多余的,因为这是默认行为
在 Arg 或 Env 中使用 Secrets不应在 ARG 或 ENV 命令中使用敏感数据
From 中默认参数无效全局 ARG 的默认值会导致基础镜像名称为空或无效
From --platform 标志不允许使用常量值FROM --platform 标志不应使用常量值
CopyIgnoredFile(实验性)尝试复制被 .dockerignore 排除的文件
InvalidDefinitionDescription(实验性)构建阶段或参数的注释应遵循以下格式:`#`。如果这不是描述性注释,请在指令和注释之间添加空行或注释。
页面选项