Hadolint
github.com
What it is
Hadolint is a free Dockerfile linter that parses files into an abstract syntax tree and checks that structure for errors and stated best practices. It uses ShellCheck to inspect Bash code inside Dockerfile RUN instructions. Rules carry either the DL prefix for Hadolint checks or SC for ShellCheck checks. Users can ignore rules, override severity, set failure thresholds, choose report formats, and configure label schemas and trusted registries. Output formats include tty, JSON, Checkstyle, Code Climate, GitLab Code Climate, GNU, Codacy, SonarQube, SARIF, and JUnit. Hadolint runs in Docker or Podman containers and is available as a pre-commit hook. Prebuilt binaries support Linux, macOS, and Windows; installation options include Homebrew, Scoop, Nix, containers, and source builds. Documented integrations cover major CI systems and editors. An online version is hosted at hadolint.github.io/hadolint. The latest listed release is v2.15.1, under GPL-3.0.
Spec sheet
- Purpose
- Hadolint is a Dockerfile linter that checks Dockerfiles for errors and best practices.Read 8 Oct 2026 · github.com
- License
- The repository identifies its license as GPL-3.0.Read 8 Oct 2026 · github.com
- Bash analysis
- It uses ShellCheck to lint Bash code inside Dockerfile RUN instructions.Read 8 Oct 2026 · github.com
- CI integrations
- The project documents integrations including GitHub Actions, GitLab CI, Azure DevOps Pipelines, Bitbucket Pipelines, CircleCI, Drone CI, Jenkins, and Travis CI.Read 8 Oct 2026 · github.com
- Configuration
- Users can configure ignored rules, severity overrides, failure thresholds, output format, label schemas, and trusted registries.Read 8 Oct 2026 · github.com
- Container use
- Hadolint can run from Docker or Podman container images published on Docker Hub and GitHub Container Registry.Read 8 Oct 2026 · github.com
- Downloads
- Prebuilt binaries are offered for OSX, Windows, and Linux, with installation also described through Homebrew, Scoop, Nix, containers, or source builds.Read 8 Oct 2026 · github.com
- Editor integrations
- Documented editor integrations include VS Code, Atom, Emacs, Geany, Sublime Text, Vim, and NeoVim.Read 8 Oct 2026 · github.com
- Latest release
- The release page opened for this research lists v2.15.1 as the latest release.Read 8 Oct 2026 · github.com
- Online version
- The README links to an online version hosted at hadolint.github.io/hadolint.Read 8 Oct 2026 · github.com
- Output formats
- Supported report formats include tty, json, checkstyle, codeclimate, gitlab_codeclimate, gnu, codacy, sonarqube, sarif, and junit.Read 8 Oct 2026 · github.com
- Parsing
- The linter parses Dockerfiles into an abstract syntax tree and applies rules to it.Read 8 Oct 2026 · github.com
- Pre-commit
- Hadolint is available as a pre-commit hook, including a Docker-based hook option.Read 8 Oct 2026 · github.com
- Rule sources
- Its rules include Hadolint rules with the DL prefix and ShellCheck rules with the SC prefix.Read 8 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Checks Dockerfile structure and Bash commands
- Configurable rules, severity, and thresholds
- Many report formats, including SARIF and JUnit
- CI and editor integrations documented
- Runs on Linux, macOS, and Windows
Limits
- GPL-3.0 license
- No free trial because it is free software
- Online version is separately hosted
Who it suits
Hadolint suits developers and teams reviewing Dockerfiles locally, in editors, pre-commit checks, or CI pipelines. It supports projects needing configurable rules and machine-readable reports.
Verdict
Hadolint provides configurable Dockerfile and embedded-shell linting across local, container, editor, and CI workflows. Its broad output and integration options support automated review pipelines.
Where Specifiction places it
- Linters#13 of 337.9