🍺 BREW Explorer

← all formulae

hadolint

brew install hadolint v2.14.0 GPL-3.0-only

Smarter Dockerfile linter to validate best practices

1.6k
30-day installs · #1093
5.7k
90-day · #1028
24.2k
365-day · #980
12.2k
★ GitHub stars · updated 2mo ago

Runtime dependencies

gmp

Build dependencies

GitHub topics

docker dockerfile dockerfile-linter haskell linter shellcheck static-analysis

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "cabal-install",
    "ghc"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [
    "gmp"
  ],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Smarter Dockerfile linter to validate best practices",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:38:32+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "hadolint",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-06-11T07:29:04Z",
  "github_readme_excerpt": "# Hadolint - Haskell Dockerfile Linter\n\n[![GPL-3 licensed][license-img]][license]\n[![GitHub release][release-img]][release]\n[![Hackage version][hackage-img]][hackage]\n[![GitHub downloads][downloads-img]][release]\n[![Docker pulls][docker-img]][docker]\n[![Build Status][github-actions-img]][github-actions]\n\n\u003cimg align=\"right\" alt=\"pipecat\" width=\"150\"\nsrc=\"https://hadolint.github.io/hadolint/img/cat_container.png\" /\u003e\n\nA smarter Dockerfile linter that helps you build [best practice][] Docker\nimages. The linter parses the Dockerfile into an AST and performs rules on\ntop of the AST. It stands on the shoulders of [ShellCheck][] to lint\nthe Bash code inside `RUN` instructions.\n\n[:globe_with_meridians: **Check the online version on\nhadolint.github.io/hadolint**](https://hadolint.github.io/hadolint)\n[![Screenshot](screenshot.png)](https://hadolint.github.io/hadolint)\n\n## Table of Contents\n\n- [How to use](#how-to-use)\n- [Install](#install)\n- [CLI](#cli)\n- [Configure](#configure)\n- [Non-Posix Shells](#non-posix-shells)\n- [Ignoring Rules](#ignoring-rules)\n  - [Inline ignores](#inline-ignores)\n  - [Global ignores](#global-ignores)\n- [Linting Labels](#linting-labels)\n  - [Note on dealing with variables in labels](#note-on-dealing-with-variables-in-labels)\n- [Integrations](#integrations)\n- [Rules](#rules)\n- [Develop](#develop)\n  - [Setup](#setup)\n  - [REPL](#repl)\n  - [Tests](#tests)\n  - [AST](#ast)\n  - [Building against custom libraries](#building-against-custom-libraries)\n- [Alternatives](#alternatives)\n\n## How to use\n\nYou can run `hadolint` locally to lint your Dockerfile.\n\n```bash\nhadolint \u003cDockerfile\u003e\nhadolint --ignore DL3003 --ignore DL3006 \u003cDockerfile\u003e # exclude specific rules\nhadolint --trusted-registry my-company.com:500 \u003cDockerfile\u003e # Warn when using untrusted FROM images\n```\n\nDocker comes to the rescue, providing an easy way how to run `hadolint` on most\nplatforms.\nJust pipe your `Dockerfile` to `docker run`:\n\n```bash\ndocker run --rm -i hadolint/hadolint \u003c Dockerfile\n# O",
  "github_repo": "hadolint/hadolint",
  "github_stars": 12232,
  "github_topics": [
    "docker",
    "dockerfile",
    "dockerfile-linter",
    "haskell",
    "linter",
    "shellcheck",
    "static-analysis"
  ],
  "homepage": "https://github.com/hadolint/hadolint",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 1555,
  "installs_365d": 24163,
  "installs_90d": 5716,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "GPL-3.0-only",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "hadolint",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 1093,
  "rank_365d": 980,
  "rank_90d": 1028,
  "raw_hash": "18510cf4677bd3a0",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/h/hadolint.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [
    "libffi",
    "xz"
  ],
  "version_head": null,
  "version_stable": "2.14.0",
  "versioned_formulae": [],
  "why_use_this": null
}