These are docker images that I use for my compiler development or low level programing.
The images are hosted here.
https://hub.docker.com/r/dqneo
go
installed on ubuntu
Run a go command :
$ docker run --rm -it dqneo/ubuntu-go go version
go version go1.20.5 linux/amd64
Run a hello world by go :
$ cat > main.go <<EOF
package main
import "fmt"
func main() {fmt.Println("hello world")}
EOF
$ go mod init x
$ docker run --rm -v `pwd`:/mnt/ -w /mnt dqneo/ubuntu-go go run .
hello world
Basic compiler dev tools installed on ubuntu`
Run a container with special powers :
$ docker run -it --rm -v `pwd`:/mnt -w /mnt \
--cap-add=SYS_PTRACE\
--security-opt='seccomp=unconfined'\
--tmpfs=/tmp/tmpfs:rw,size=500m,mode=1777\
dqneo/ubuntu-compiler-go bash
# In the container, you can use `gdb` , `strace` etc
Basic compiler tools and go
on ubuntu`
Both exqamples in dqneo/ubuntu-go
and dqneo/ubuntu-compiler
are usable.