SuperAPI AI 工具集

hadolint

通用与其它

查看项目

更新于 10-16 01:11

技能介绍

用途:校验 Dockerfile 的语法错误、最佳实践违规和 RUN 指令中内嵌 shell 脚本的问题,提前发现会导致构建失败或运行时问题的错误。

主要能力:检查镜像标签、包版本固定、安装后清理、COPY 与 ADD 的选择、RUN 中的 shell 脚本问题以及已废弃指令;报告时给出 DL(Dockerfile)和 SC(shell)规则代码及具体修复建议。

使用方式:先检查 hadolint 是否可用(hadolint --version 2>/dev/null),缺失时提供安装指引,优先系统二进制,失败则回退 Docker。系统安装示例:sudo apt-get install hadolint、brew install hadolint,或直接下载 Linux amd64 二进制并 chmod +x。Docker 回退:docker run --rm hadolint/hadolint hadolint --version 2>/dev/null。配置检测优先级为项目根目录 .hadolint.yaml、家目录 ~/.hadolint.yaml、$XDG_CONFIG_HOME/hadolint.yaml,最后使用默认配置。校验命令:hadolint Dockerfile;多文件:hadolint Dockerfile Dockerfile.prod Dockerfile.dev;指定配置:hadolint --config .hadolint.yaml Dockerfile;标准输入:cat Dockerfile | hadolint -;Docker 模式:docker run --rm -i hadolint/hadolint < Dockerfile,带配置时挂载 .hadolint.yaml。

适用场景:在提交或构建前对单个或多个 Dockerfile 做静态检查,统一团队镜像规范。

限制:若系统安装失败且 Docker 不可用,应停止并报告问题,不应静默跳过校验;校验失败时需逐条报告文件与行号、错误代码、问题说明和具体修复,修正后建议重新校验。完整规则参考见 references/hadolint-rules.md。