error-message VS hadolint

Compare error-message vs hadolint and see what are their differences.


Combinable error messages for Haskell. (by gcross)


Dockerfile linter, validate inline bash, written in Haskell (by hadolint)
Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
error-message hadolint
0 10
1 6,041
- 3.9%
0.0 8.8
over 10 years ago 1 day ago
Haskell Haskell
BSD 3-clause "New" or "Revised" License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of error-message. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning error-message yet.
Tracking mentions began in Dec 2020.


Posts with mentions or reviews of hadolint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-18.
  • Kubernetes Security Checklist 2021 | 2021-10-18
    Dockerfile should be checked during development by automated scanners (Kics, Hadolint, Conftest)
    Linters are an effective way to catch (security) bugs early on in your development process. For most programming languages using linters is pretty standard. Hadolint is a linter for your Dockerfiles and is found on github here.
  • Best Practices for R with Docker | 2021-05-31
    Best practices for writing Dockerfiles are being followed more and more often according to this paper after mining more than 10 million Dockerfiles on Docker Hub and GitHub. However, there is still room for improvement. This is where linters come in as useful tools for static code analysis. Hadolint lists lots of rules for Dockerfiles and is available as a VS Code extension.
  • 21 Best Practises in 2021 for Dockerfile | 2021-05-29
  • Dockerizing Shiny Applications | 2021-05-10
    Switching to the root USER opens up certain security risks if an attacker gets access to the container. In order to mitigate this, switch back to a non privileged user after running the commands you need as root. – Hadolint rule DL3002
  • What do you use for container security, and where do you think there is room for improvement? | 2021-04-02
    Hadolint for more SAST like :
  • ShellCheck: A static analysis tool for shell scripts | 2021-03-18
    Hadolint is another. It's built atop shellcheck.

  • Docker Security Cheat Sheet | 2021-03-13
    I use Hadolint[1] as a CI job to check if my Dockerfiles follow the good "rules". But there is one rule that annoys me the most and which is also present in this article, is the pinned OS package version rule[2]. While I understand its interest, I struggle to handle this problem.

    When I build new images and it failed because the pinned version is not available anymore, I have to dig into Debian or Ubuntu packages websites to find the new ones as they don't keep the old packages online.

    I know I could ask Hadolint to ignore this rule but I don't like this and I think it's important to stick to a certain version of a package to avoid problems. I'm just trying to find any tip that could make me use pinned version and avoid this search every time. Does apt-get install allows wildcard for example?



  • Dockerfile Best Practices | 2021-01-02
    Another useful resource is hadolint (, which not only gives additional recommendations, but also a way to enforce this.
  • Run More Stuff in Docker | 2020-12-26

What are some alternatives?

When comparing error-message and hadolint you can also consider the following projects:

leksah - Haskell IDE

ghcid - Very low feature GHCi based IDE

stan - 🕵️ Haskell STatic ANalyser

ormolu - A formatter for Haskell source code

podman - Podman: A tool for managing OCI containers and pods.


diun - Receive notifications when an image is updated on a Docker registry

dhall-check - Check all the .dh files in a directory against a given type signature

ihaskell - A Haskell kernel for IPython.

static-analysis - ⚙️ A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more.

hpack - hpack: A modern format for Haskell packages

hoogle - Haskell API search engine