
【免费下载链接】dockerfile-roastdroast - a dockerfile linter that actually has opinions 项目地址https://gitcode.com/gh_mirrors/do/dockerfile-roast点击查看免费下载droast 是一款自带毒舌风格的开源 Dockerfile linterDockerfile 检查工具能扫描安全、正确性、可复现性与镜像体积等问题。本文是一份 droast 命令行速查表覆盖全部参数、5 种输出格式与退出码含义帮助你在终端和 CI 中快速配置它。一条命令上手 droast CLIdroast 的基本调用形式是droast [OPTIONS] [FILE]... [COMMAND]其中FILE可以是文件、目录也可以是带引号的 glob 模式如services/*/Dockerfile。droast Dockerfile # 检查单个文件 droast . # 递归发现整个仓库含 Compose / Bake 引用 droast # 无参数时从当前目录递归发现检查效果类似这样左侧是 Dockerfile右侧是 droast 逐条报告的问题与吐槽 找不到文件时droast 会直接报错退出。确认当前目录后把仓库根目录传给droast .即可。全部参数速查表文件与全局选项参数说明FILE位置参数文件、目录、glob 模式可多个-表示从 stdin 读取-c, --config PATH显式指定droast.toml配置文件路径--messages PATH加载自定义终端提示语覆盖文件YAML--preset NAME应用内置预设minimal/security/performance/production/strict--category CATEGORY,...只运行指定类别如security,supply-chain--skip-category CATEGORY,...跳过指定类别如maintainability--no-roast只显示技术性信息不显示吐槽文案--no-fail检查后始终以 0 退出顾问模式不阻塞 CI--list-rules列出全部规则 ID、严重级别、类别与描述--engine NAME构建上下文约定docker默认或podman--shellcheck MODEShellCheck 桥接off默认/auto/required--check-ignorefile BOOL开启/关闭构建上下文 ignore 文件检查别名--check-dockerignore默认开启-h, --help显示帮助-V, --version显示版本号规则过滤与严重级别参数说明-s, --min-severity LEVEL最低报告级别info默认/warning/error--fail-on LEVEL达到该级别info/warning/error即以非零退出默认error--skip RULE,...跳过指定规则 ID如--skip DF012,DF022与配置中的 skip 合并--only RULE,...只运行指定规则 ID最具体的选择器规则 ID 大小写不敏感完整的规则清单可随时用droast --list-rules查看JSON 形式为--list-rules --format json。自动修复相关参数参数说明--fix [RULE,...]应用安全的确定性修复可限定规则如--fix DF076,DF079--dry-run与--fix搭配只预览修复计划、不改动文件--format diff与--fix --dry-run搭配输出统一 diff 补丁当前内置修复器只覆盖DF076指令大小写统一、DF078EXPOSE 协议小写、DF079AS 与 FROM 大小写一致、DF083移除多余的--platform$TARGETPLATFORM。机器可读的修复协议定义见 schemas/droast-fix-plan-v1.schema.json。Baseline 与渐进式接入参数参数说明--baseline PATH指定 JSON 基线文件用于区分存量问题与新增问题--write-baseline把当前全部发现写入--baseline指定的文件需搭配--baseline--only-new只报告基线中不存在的新发现需搭配--baseline典型渐进式接入流程先用--write-baseline --no-fail记录存量问题CI 中改用--baseline只对新问题失败最后再移除豁免。Hadolint 兼容模式参数加上--hadolint-compatible后droast 可以直接替换现有 Hadolint 调用识别.hadolint.yaml、HADOLINT_*环境变量与 Hadolint 内联 ignore 注释参数说明--hadolint-compatible开启兼容模式接受 Hadolint 配置、标志、环境变量--hadolint-compatibility-report打印完整的规则兼容映射矩阵-o, --output PATH将兼容模式输出写入文件--file-path-in-report PATH覆盖报告中内嵌的文件路径--ignore RULE/--error RULE/--warning RULE/--info RULE/--style RULEHadolint 风格的规则过滤与严重级别覆盖可重复--trusted-registry REGISTRY允许 FROM 指令使用指定镜像仓库--require-label LABEL:FORMAT要求指定标签及格式如maintainer:text--strict-labels拒绝未在 schema 中声明的标签--disable-ignore-pragma禁用# hadolint ignore...注释--no-color关闭终端彩色输出--verbose输出有效配置到 stderr-t, --failure-threshold THRESHOLD兼容模式下的失败阈值error/warning/info/style/ignore/none兼容模式的输出格式扩展为 Hadolint 的 10 种tty、json、checkstyle、codeclimate、gitlab_codeclimate、gnu、codacy、sonarqube、sarif、junit。子命令速查表子命令用途droast init [--from-hadolint PATH]在当前目录生成全注释模板droast.toml--from-hadolint可从.hadolint.yaml迁移策略droast completion bash \| zsh \| fish生成 Shell 补全脚本droast fixes FILE... [--format terminal\|json]只读列出可安全应用的修复永不改文件droast invocations PATH... [--format terminal\|json]离线解析仓库中所有有效构建调用Dockerfile Compose Bake 的 target、参数、平台矩阵等droast messages init [--project] [--preset NAME]生成终端提示语覆盖文件个人级或项目级.droast/messages.yamldroast messages show RULE查看某条规则当前生效的提示语droast messages dump --all打印完整提示语参考目录droast messages validate PATH提交前校验提示语 YAML 文件输出格式怎么选通过-f, --format指定可在 CLI、droast.tomlformat键两处设置格式适用场景terminal默认人类可读带行号与吐槽文案--no-roast切换为纯技术文案compact每条发现一行文件:行号:级别:规则:消息适合编辑器与管道处理json机器可读单文件输出对象多文件输出数组每条发现含确定性sha256:指纹github输出 GitHub Actions 注解在 PR 上显示行内标注sarifSARIF 2.1.0 报告用于代码扫描系统diff仅限--fix --dry-run预览补丁compact与json的实际输出效果⚠️ 解析 JSON 时注意单个文件输入是对象jq .findings多个文件输入是数组jq .[].findings。退出码速查表退出码含义0没有达到失败阈值的发现或使用了--no-fail1至少一条达到失败阈值的发现默认阈值error或发生执行失败如未找到 Dockerfile要点默认只有error级别会导致退出码1单独出现 warning 不会失败。想warning 也拦用--fail-on warning。--no-fail让报告照常打印、退出码恒为 0适合渐进式接入 CI 或保证后续上传 SARIF 的步骤继续执行。使用基线时只有基线之外的新发现参与失败判定存量问题不再阻塞。Hadolint 兼容模式下改用-t/--failure-threshold控制失败阈值。参数优先级CLI droast.toml 内置默认配置查找从当前目录向上直到仓库边界CLI 标志总是覆盖droast.toml中的标量值。一个例外是skipCLI 与配置中的规则 ID合并生效而不是互相覆盖。参考示例配置examples/droast-repository.toml、examples/droast-enterprise.toml。完整 CLI 定义位于 src/main.rs官方文档见 DOCS.md。常见组合示例# CI 友好的团队基线production 预设 技术文案 droast --preset production --no-roast . # 只查安全类规则并让 warning 也失败 droast --category security,supply-chain --fail-on warning . # 记录基线不阻塞 droast --baseline droast-baseline.json --write-baseline --no-fail . # CI 中只看新问题 droast --baseline droast-baseline.json --only-new . # 安全预检 全量顾问扫描双任务 droast --no-roast --preset security . droast --no-roast --no-fail --min-severity info . # 无 Docker 环境也能用镜像方式运行 docker run --rm -v $PWD:/workspace:ro -w /workspace immanuwell/droast --no-roast .在 GitHub Actions 中则直接使用 action.yml 定义的files、min-severity、preset、baseline等输入项默认注解格式即github。编辑器集成除了命令行droast 还有内置二进制的 VS Code 扩展与 Neovim 插件保存时自动运行并复用同一套 CLI 参数如--preset、--min-severity常见问题droast 会修改我的 Dockerfile 吗默认不会检查是纯只读的只有显式传--fix才会改写且--dry-run与droast fixes永不改动文件。警告很多CI 怎么起步用no-fail true 基线先跑起来只让新 error 失败再逐步收紧min-severity与预设。参数没生效记住优先级CLI 标志 droast.toml 默认值且--only、--check-ignorefile是 CLI 专属选项不写进配置文件。输出文章赞分享【免费下载链接】dockerfile-roastdroast - a dockerfile linter that actually has opinions 项目地址https://gitcode.com/gh_mirrors/do/dockerfile-roast点击查看免费下载相关推荐poliastroPython中的天体动力学革命——从零开始掌握轨道力学poliastroPython中的天体动力学革命——从零开始掌握轨道力学 poliastro是一个革命性的Python库专门用于天体动力学和轨道力学计算。这数据分析OpenCodeReview CLI 参考指南ocr 全部子命令、参数与退出行为详解OpenCodeReview CLI 参考指南ocr 全部子命令、参数与退出行为详解 本指南以 OpenCodeReview 官方 CLI 参考文档为骨架逐人工智能AI 应用代码评审开发工具代码质量Knip 命令行参数完全指南六大类参数、运行模式与退出码详解Knip 命令行参数完全指南六大类参数、运行模式与退出码详解 Knip 是一个用于查找 JavaScript 与 TypeScript 项目中未使用文件、依赖代码质量静态分析CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考