Golang Cross Compile Docker

Beim Versuch ein Go Programm auf meinem Mac für Linux zu erstellen, musste ich feststellen, dass dies nicht ganz so einfach ist wenn man sqlite3 als Dependency hat.

Aber zum Glück gibt es ja Docker. Eigentlich mag ich ja Alpine als Alternative zu den “großen” Images, aber da haben mir dann doch zu viele Programme gefehlt. Lange Rede, golang:latest nehmen. Das SRC vom Projekt als Workdir setzen.

Beim Starten vom Image das SRC als Volume Bind rein mounten, go get && go build. Warten, fertig :-)

Man könnte bestimmt noch das go get im Image schon bereitstellen, dass würde noch etwas Zeit und Bandbreite sparen.