Build static Go binaries and package them into minimal Docker containers using a simple bash script.
gockerize is a bash script that automates building static Go binaries and packaging them into minimal Docker containers. It solves the problem of manually setting up build environments and creating lightweight, production-ready Docker images for Go services.
Go developers and DevOps engineers who need to containerize Go applications with minimal overhead and reproducible builds.
Developers choose gockerize for its simplicity and automation, eliminating manual steps in creating static Go binaries and minimal Docker containers, while supporting flexible project structures and dependency management.
Package golang service into minimal docker containers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Builds fully static Go binaries, enabling easy patching of the standard library through the 'patches' subdir, as highlighted in the README for deployment flexibility.
Creates lightweight Docker images, often using 'scratch' as base, which reduces image size and attack surface, aligning with the philosophy of simplicity and repeatability.
Uses 'go get' to automatically fetch remote dependencies, simplifying builds for projects without vendored dependencies, though vendoring is recommended for reproducibility.
Accommodates non-standard project structures through customizable source mapping and Dockerfile paths, as demonstrated in the usage examples for complex hierarchies.
Defaults to Go 1.5.3, which is ancient and lacks modern features, requiring users to manually set GOVERSION for current versions, adding configuration overhead.
Relies on bash and Docker 1.5+, limiting portability in environments where these tools are not available or where alternative build systems are preferred.
Designed for packaging single Go packages into containers, making it less suitable for multi-service applications or complex microservices architectures.