Go ToolBox
Docker image with everything you might need for developing apps in Go.
Includes neccessary headers and development packages for Fyne.
What's inside
Debian 13 (slim) is used as base image.
Binary | Version | Project | Repo |
---|---|---|---|
go |
1.25.1 | Go | |
golangci-lint |
2.4.0 | golangci-lint | External link |
gofumpt |
0.9.0 | gofumpt | External link |
mockery_v2 |
2.53.4 | mockery | External link |
task |
3.44.1 | taskfile | External link |
go-junit-report |
2.1.0 | go-junit-report | External link |
delve |
1.25.2 | delve | External link |
Multiarch support
This image contains versions for both amd64 (AMD/Intel CPUs and their clones) and arm64 (Rockchips, Apple Silicon and so on).
Note, that amd64 image built on my CI server, while arm64 image I building on my local machine with built_multiarch.sh
for each published tag. It is because I have no separate arm64 machine (yet) and it's emulation on my server's CPU is freaking
slow (imagine Linux installation is going for three whole hours!).
HOME
Home directory is /home/container
.
Caching
Go's build cache resides in /home/container/.cache
, GOCACHE
environment variable is defined. You can mount it when needed in Dockerfile as:
RUN --mount=type=cache,target="$GOCACHE" go build
Utilities examples
JUnit report generation (for Gitlab)
go test -v 2>&1 ./... | go-junit-report -set-exit-code > unit-report.xml