docker-go-mingw alternatives and similar packages
Based on the "DevOps Tools" category.
Alternatively, view docker-go-mingw alternatives based on common mentions on social networks and blogs.
-
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD -
Moby
The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems -
Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. -
kubeshark
The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes -
Ddosify
Anteon (formerly Ddosify) - Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud -
dasel
Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package. -
Mizu
DISCONTINUED. The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes [Moved to: https://github.com/kubeshark/kubeshark] -
Fleet device management
Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center) -
Pomerium
Pomerium is an identity and context-aware reverse proxy for zero-trust access to web applications and services. -
StatusOK
Monitor your Website and APIs from your Computer. Get Notified through Slack, E-mail when your server is down or response time is more than expected. -
uTask
µTask is an automation engine that models and executes business processes declared in yaml. ✏️📋 -
s3gof3r
Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r
CodeRabbit: AI Code Reviews for Developers

Do you think we are missing an alternative of docker-go-mingw or a related project?
Popular Comparisons
README
go-mingw
Docker image for building Go binaries for Windows with MinGW-w64 toolchain based on official Go Docker image.
The repository provides simple cross-compilation environment for windows 32 and 64bit builds.
Usage
You can pull Docker image with desired Go version from Docker Hub:
docker pull x1unix/go-mingw:latest # or "1.17" for specific Go version
Recommended: Please take a look at [full project build example](example/sqlite-app) before starting to work.
Building Go applications inside container
Mount directory with app source and build it:
docker run --rm -it -v /YourPackageSrc:/go/work \
-w /go/work \
x1unix/go-mingw go build .
You will get compiled Windows binary.
For 32-bit toolchain
To build a 32-bit executable, set GOARCH=386
variable:
docker run --rm -it -e GOARCH=386 -v /YourPackageSrc:/go/work \
-w /go/work \
x1unix/go-mingw go build .
Recommended: See full project build example [here](example/sqlite-app).
Go linker flags override
You can override Go linker flags and other flags by specifying environment variable for a container using -e
option.
Example:
docker exec -it
-e LDFLAGS="-linkmode external -extldflags '-static -s -w'"
...
Produced files ownership
By default, the container starts as root user. It means, that all produced files
will be owned by root:root
user.
To set files to be owned by your current user by default, you need to start the container with your current uid/gid.
Use -u
flag to start container with different user/group id.
# Start container as other uid/gid
docker exec --rm -it -u "$UID:$GID" ...
Attention: we recommend to mount your host GOPATH and GOCACHE instead of separated volumes approach when using UID/GID other than root.
Go Build Cache
In order to speed up build times and keep Go build cache, you can mount your Go build cache directory or create a separate Docker volume for it.
Local GOPATH
docker run --rm -it \
-u $UID \
-v /YourPackageSrc:/go/work \
-v $(go env GOCACHE):/go/cache \
-e GOCACHE=/go/cache \
-w /go/work \
x1unix/go-mingw go build .
Volume:
# Create Docker volume
docker volume create go-cache
# Run container with attached volume
docker run --rm -it \
-v /YourPackageSrc:/go/work \
-v go-cache:/go/cache \
-e GOCACHE=/go/cache \
-w /go/work \
x1unix/go-mingw go build .
See Docker volumes docs for more info.
Go modules cache
In addition to Go build cache, you may also want to mount Go modules cache to avoid modules re-download on each build.
To do this, mount your GOPATH or Go modules directory ($GOPATH/pkg
).
Building custom Docker image
You can build image locally with specified Go version:
make image GO_VERSION=1.17
Replace 1.17
with desired Go version.