Go Dockerfile

Open-source Go projects categorized as Dockerfile

Top 14 Go Dockerfile Projects

  • Portainer

    Making Docker and Kubernetes management easy.

    Project mention: Is there a good example of an open source non-trivial (DB connection, authentication, authorization, data validation, tests, etc...) Go API? | reddit.com/r/golang | 2023-01-25
  • buildkit

    concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

    Project mention: Rails on Docker · Fly | news.ycombinator.com | 2023-01-26

    I know those questions are probably rhetorical, but to answer them anyway:

    > > Nice syntax

    > Is it though?

    The most common alternative is to use a backslash at the end of each line, to create a line continuation. This swallows the newline, so you also need a semicolon. Forgetting the semicolon leads to weird errors. Also, while Docker supports comments interspersed with line continuations, sh doesn't, so if such a command contains comments it can't be copied into sh.

    There heredoc syntax doesn't have any of these issues; I think it is infinitely better.

    (There is also JSON-style syntax, but it requires all backslashes to be doubled and is less popular.)

    *In practice "&&" is normally used rather than ";" in order to stop the build if any command fails (otherwise sh only propagates the exit status of the last command). This is actually a small footgun with the heredoc syntax, because it is tempting to just use a newline (equivalent to a semicolon). The programmer must remember to type "&&" after each command, or use `set -e` at the start of the RUN command, or use `SHELL ["/bin/sh", "-e", "-c"]` at the top of the Dockerfile. Sigh...

    > Are the line breaks semantic, or is it all a multiline string?

    The line breaks are preserved ("what you see is what you get").

    > Is EOF a special end-of-file token

    You can choose which token to use (EOF is a common convention, but any token can be used). The text right after the "<<" indicates which token you've chosen, and the heredoc is terminated by the first line that contains just that token.

    This allows you to easily create a heredoc containing other heredocs. Can you think of any other quoting syntax that allows that? (Lisp's quote form comes to mind.)

    > Where is it documented?

    The introduction blog post has already been linked. The reference documentation (https://github.com/moby/buildkit/blob/master/frontend/docker...) mentions but doesn't have a formal specification (unfortunately this is a wider problem for Dockerfiles, see https://supercontainers.github.io/containers-wg/ideas/docker... instead it links to the sh syntax (https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V...), on which the Dockerfile heredoc syntax is based.

    (Good luck looking up this syntax if you don't know what it's called. But that's the same for most punctuation-based syntax.)

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • werf

    A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.

    Project mention: Is there a CD solution that can be (painlessly) fully automated between stages? | reddit.com/r/kubernetes | 2022-09-08

    I am looking as well for this kind of tool. I just took a look today by exploring the CNCF landscape this tool : https://werf.io/ , I haven't used it, but it seems to take care of painful stuff like automatic versioning for example. (If someone here tried it, I will be happy to listen to your feedbacks)

  • Habitus

    A build flow tool for Docker.

  • Whaler

    Program to reverse Docker images into Dockerfiles

    Project mention: Reverse Image | reddit.com/r/docker | 2022-10-28

    https://github.com/P3GLEG/Whaler <-- that should do what you're looking for. It depends on the image having been generated using a standard Dockerfile approach, but that should work for most images.

  • mort

    Storage and image processing server written in Go

  • Lazytainer

    Docker container lazy loading

    Project mention: Automatically Stop containers when not in use. | reddit.com/r/selfhosted | 2022-12-28
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • Starter

    Helping you get started with containerized apps. (by cloud66-oss)

  • images

    Browser images for Selenoid and Moon 1.x (by aerokube)

  • Dockerfile-Generator

    dfg - Generates dockerfiles based on various input channels.

  • buildkit-nix

    Nix derivations as Dockerfiles (`docker build -f default.nix .`)

  • d2vm

    Build Virtual Machine Image from Dockerfile or Docker image

    Project mention: Linka-Cloud/D2vm: Build Virtual Machine Image from Dockerfile or Docker Image | news.ycombinator.com | 2022-11-29
  • golang-dockerfile

    Dockerfiles for building Go application images

    Project mention: How to containerize your Go app in 10 minutes! | reddit.com/r/golang | 2022-07-22
  • lazykubectl

    A Terminal UI client for kubernetes

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-01-26.

Go Dockerfile related posts


What are some of the best open-source Dockerfile projects in Go? This list will help you:

Project Stars
1 Portainer 24,326
2 buildkit 6,308
3 werf 3,454
4 Habitus 1,285
5 Whaler 911
6 mort 478
7 Lazytainer 294
8 Starter 261
9 images 153
10 Dockerfile-Generator 138
11 buildkit-nix 101
12 d2vm 55
13 golang-dockerfile 13
14 lazykubectl 3
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives