b4e9d9ec584c50bbf46d39f11a0abd433a7fb892
				
			
			
		
	Go ToolBox
Docker image with everything you might need for developing apps in Go.
What's inside
Debian 12 (slim) is used as base image.
| Binary | Version | Project | Repo | 
|---|---|---|---|
| go | 1.22.5 | Go | |
| golangci-lint | 1.59.1 | golangci-lint | External link | 
| gofumpt | 0.6.0 | gofumpt | External link | 
| mockery_v2 | 2.43.2 | mockery | External link | 
| task | 3.38.0 | taskfile | External link | 
| go-junit-report | 2.1.0 | go-junit-report | External link | 
| delve | 1.22.1 | 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
Description
				
					Languages
				
				
								
								
									Shell
								
								92.1%
							
						
							
								
								
									Dockerfile
								
								7.9%