hadolint VS bocker

Compare hadolint vs bocker and see what are their differences.

bocker

Docker implemented in around 100 lines of bash (by p8952)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
hadolint bocker
24 37
9,677 11,092
1.5% -
2.3 0.0
29 days ago over 6 years ago
Haskell Shell
GNU General Public License v3.0 only 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.

hadolint

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 2024-03-02.
  • Dockerfile Linter
    1 project | news.ycombinator.com | 3 Mar 2024
  • Writing a Minecraft server from scratch in Bash (2022)
    5 projects | news.ycombinator.com | 2 Mar 2024
    To skip the "move your scripts to standalone files" step some devs don't like, consider something like https://github.com/hadolint/hadolint which runs Shellcheck over inline scripts within Containerfiles.
  • I reduced the size of my Docker image by 40% – Dockerizing shell scripts
    4 projects | news.ycombinator.com | 3 Feb 2024
    This is neat :)

    I love going and making containers smaller and faster to build.

    I don't know if it's useful for alpine, but adding a --mount=type=cache argument to the RUN command that `apk add`s might shave a few seconds off rebuilds. Probably not worth it, in your case, unless you're invalidating the cached layer often (adding or removing deps, intentionally building without layer caching to ensure you have the latest packages).

    Hadolint is another tool worth checking out if you like spending time messing with Dockerfiles: https://github.com/hadolint/hadolint

  • Top 10 common Dockerfile linting issues
    1 project | dev.to | 15 Sep 2023
    With Depot, we make use of two Dockerfile linters, hadolint and a set of Dockerfile linter rules that Semgrep has written to make a bit of a smarter Dockerfile linter.
  • hadolint - Dockerfile linter
    1 project | dev.to | 16 Aug 2023
    # Download hadolint wget https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64 # Download SHA256 checksum wget https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64.sha256 # Validate the checksum sha256sum -c hadolint-Linux-x86_64.sha256 # Make the file executable chmod + ./hadolint-Linux-x86_64 # Rename the file mv hadolint-Linux-x86_64 hadolint
  • Haskell Dockerfile Linter
    1 project | news.ycombinator.com | 20 Apr 2023
  • Is adding a USER best practice?
    1 project | /r/docker | 21 Mar 2023
    The most common linter I've seen and used it Hadolint, which does: https://github.com/hadolint/hadolint/wiki/DL3002 I didn't bother checking to see if alternatives also support this as well though.
  • Checkmake: Experimental Linter/Analyzer for Makefiles
    6 projects | news.ycombinator.com | 14 Aug 2022
    Some discussion on that here:

    https://github.com/koalaman/shellcheck/issues/58

    The hadolint project does shell checking for Dockerfiles and it uses shellcheck:

    https://github.com/hadolint/hadolint

    So the approach is definitely feasible, but you do need a new project and probably it needs to be written in Haskell.

  • Dokter: the doctor for your Dockerfiles
    2 projects | /r/Python | 12 Aug 2022
    how does this compare to something like hadolint?
    5 projects | /r/docker | 12 Aug 2022
    Also, have you run across Hadolint for linting? https://github.com/hadolint/hadolint

bocker

Posts with mentions or reviews of bocker. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-06.
  • Show HN: Bocker-compose, the missing layer to Docker-compose
    1 project | news.ycombinator.com | 7 Mar 2024
    A (joke?) one-liner I came up with while thinking about solutions to centralized container management across multiple SSH hosts. Shame on me.

    The name is inspired by bocker [0], albeit this doesn't re-implement docker-compose in bash, I found it to be fitting enough.

    I'd love to see someone come up with a smarter and/or shorter way to do this.

    [0] https://github.com/p8952/bocker

  • Barco: Linux Containers from Scratch in C
    4 projects | news.ycombinator.com | 6 Aug 2023
    When I did a talk about docker I also wanted to show a bit of what it does under the hood without going through all the layers and without too much details. This ~120 lines of shell script is really good in providing just an intro into what's needed for containers: https://github.com/p8952/bocker/blob/master/bocker
  • Build Your Own Docker with Linux Namespaces, Cgroups, and Chroot
    6 projects | news.ycombinator.com | 26 Jun 2023
  • Latest Zen Kernel......
    5 projects | /r/linuxmemes | 26 May 2023
    i tried it and like the concnpt, but until it can be launched via a systemd userspace service (without previously manually booting it) among other problems i will keep using docker (or bocker)
  • The Staff Engineer's Path – Book Review
    1 project | news.ycombinator.com | 17 May 2023
    > But you couldn't reimplement podman in a few hundred lines of code.

    You don't even need a few hundred: https://github.com/p8952/bocker

    And then there's 'dokku' which IIRC, started as a bash version of Heroku.

    > Not all ideas have the same quality.

    They really do. I've heard all kinds of things in my career, but almost none I would want to dedicate a portion of my life building. Not because they are bad ideas or won't work, but because of the person with the idea or it just didn't interest me. Those people went on to be moderately successful (like hundreds of millions worth) but I'm glad I wasn't on that ride.

  • “Implement DNS in a Weekend”
    6 projects | news.ycombinator.com | 12 May 2023
    Bocker is in this same category...docker clone in bash that's helpful in seeing what's really happening underneath with nsenter, namespaces, network bridging, cgroups, etc.

    https://github.com/p8952/bocker

  • Ask HN: What is the best source to learn Docker in 2023?
    8 projects | news.ycombinator.com | 29 Jan 2023
    Docker implemented in around 100 lines of bash: https://github.com/p8952/bocker

    This is the most mindblowing example for enterprise security teams that think Docker is a new threat on a single tenant Linux host.

    No, buddies, all this stuff is already there. If you were fine with your visibility before*, you're still fine. Go find a real problem while we play with our developer dopamine.

    * NARRATOR: They shouldn't have been.

  • Containers are chroot with a Marketing Budget
    6 projects | news.ycombinator.com | 8 Nov 2022
    Bocker[1] does a reasonably good job of showing the value of Docker was mostly in Docker hub.

    [1] https://github.com/p8952/bocker

    1 project | /r/programming | 8 Nov 2022
    There is a cool project I've seen called "bocker" (https://github.com/p8952/bocker) which is something of a proof of concept of implementing Docker with bash, which speaks a bit to how Docker is indeed in many ways an amalgam of lower level primitives (such as chroot as you mentioned). Pretty neat!
  • bocker: Docker implemented in around 100 lines of bash
    1 project | /r/CKsTechNews | 16 Oct 2022

What are some alternatives?

When comparing hadolint and bocker you can also consider the following projects:

trivy - Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more

whalebrew - Homebrew, but with Docker images

dockle - Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start

s6-overlay - s6 overlay for containers (includes execline, s6-linux-utils & a custom init)

docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.

garden - Automation for Kubernetes development and testing. Spin up production-like environments for development, testing, and CI on demand. Use the same configuration and workflows at every step of the process. Speed up your builds and test runs via shared result caching

stan - 🕵️ Haskell STatic ANalyser

distroless - 🥑 Language focused docker images, minus the operating system.

hlint - Haskell source code suggestions

dockerfiles - Various Dockerfiles I use on the desktop and on servers.

grype - A vulnerability scanner for container images and filesystems

cloc - cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.