1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
FROM golang:1.7-alpine
# disable CGO for ALL THE THINGS (to help ensure no libc)
ENV CGO_ENABLED 0
ENV BUILD_FLAGS="-v -ldflags '-d -s -w' -a -tags netgo -installsuffix netgo"
ENV GOPATH $GOPATH:/go/src/github.com/tianon/rawdns/vendor
COPY . /go/src/github.com/tianon/rawdns
WORKDIR /go/src/github.com/tianon/rawdns/src/cmd/rawdns
# rawdns-$(dpkg --print-architecture)
RUN set -x \
&& eval "GOARCH=386 go build $BUILD_FLAGS -o /go/bin/rawdns-i386"
RUN set -x \
&& eval "GOARCH=amd64 go build $BUILD_FLAGS -o /go/bin/rawdns-amd64"
RUN set -x \
&& eval "GOARCH=arm GOARM=5 go build $BUILD_FLAGS -o /go/bin/rawdns-armel"
RUN set -x \
&& eval "GOARCH=arm GOARM=6 go build $BUILD_FLAGS -o /go/bin/rawdns-armhf"
# boo Raspberry Pi, making life hard
#RUN set -x \
# && eval "GOARCH=arm GOARM=7 go build $BUILD_FLAGS -o /go/bin/rawdns-armhf"
RUN set -x \
&& eval "GOARCH=arm64 go build $BUILD_FLAGS -o /go/bin/rawdns-arm64"
RUN set -x \
&& eval "GOARCH=ppc64 go build $BUILD_FLAGS -o /go/bin/rawdns-ppc64"
RUN set -x \
&& eval "GOARCH=ppc64le go build $BUILD_FLAGS -o /go/bin/rawdns-ppc64el"
RUN set -x \
&& eval "GOARCH=s390x go build $BUILD_FLAGS -o /go/bin/rawdns-s390x"
RUN set -x \
&& apk add --no-cache file \
&& file /go/bin/rawdns-*
|