Dockerfile linter, validate inline bash, written in Haskell
Hadolint is a Dockerfile linter written in Haskell that helps developers build Docker images following best practices. It parses Dockerfiles into an abstract syntax tree and applies linting rules, while leveraging ShellCheck to validate the Bash code within RUN instructions. The tool is available as a standalone binary, through package managers like Homebrew and Scoop, as a Docker container image in multiple variants (scratch, Debian, and Alpine based), and can be built from source using Haskell and Cabal. Hadolint supports extensive configuration via YAML files or command-line options, including rule customization, label validation, trusted registry checks, and multiple output formats for integration with CI/CD systems and code review platforms.