Sign inSign up

brimstone/golang-musl

By brimstone

Updated about 8 years ago

Modified golang container to build with musl instead.

Image
2

4.1K

brimstone/golang-musl repository overview

golang-musl

This is a container to build golang static binaries with musl instead of glibc.

Usage

Check out your source files to a GOPATH compatible directory:

mkdir -p src/github.com/user
git clone https://github.com/user/repo.git src/github.com/user/repo

Then build!

docker run --rm -it -v "$PWD:/go" -u "$UID:$GID" brimstone/golang-musl github.com/user/repo

Alternate build

For when another repo is included in a src directory, for instance, a submodule:

tar c src \
| docker run --rm -i -e TAR=1 brimstone/golang-musl github.com/user/repo \
| tar -x ./main

For when there's just source files in a diretory:

tar c . \
| docker run --rm -i -e TAR=1 brimstone/golang-musl -o main \
| tar -x ./main


Environment Variables
---------------------

`VERBOSE` This makes the loader script more verbose

ONBUILD
-------

This image supports docker multistage builds. Simply use this as template for your Dockerfile:

FROM brimstone/golang-musl as builder

FROM scratch ENV ADDRESS= EXPOSE 80 ENTRYPOINT ["/repo", "serve"] COPY --from=builder /app /repo


Then build with this:

docker build -t user/repo --build-arg PACKAGE=github.com/user/repo .


References
----------

http://dominik.honnef.co/posts/2015/06/statically_compiled_go_programs__always__even_with_cgo__using_musl/

Tag summary

Content type

Image

Digest

Size

153 MB

Last updated

about 8 years ago

docker pull brimstone/golang-musl