From 0a6c25fa91abe0915e739719020aae7ead9aa4e8 Mon Sep 17 00:00:00 2001 From: Gisle Aune Date: Mon, 25 Jun 2018 22:43:49 +0200 Subject: [PATCH] Replaced Dockerfile with two-stage process to build container with all tools --- Dockerfile | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 89b5608..9c4b24e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,26 @@ -FROM alpine +# Use Go 1.10 +FROM golang:1.10 -COPY build/usr /usr -COPY build/etc /etc +# Load repository into docker +WORKDIR /go/src/git.aiterp.net/rpdata/api/ +COPY . . -CMD ["/bin/sh"] +# Load build tools and dependencies +RUN go get -u github.com/golang/dep/cmd/dep +RUN go get -u github.com/jteeuwen/go-bindata/... +RUN dep ensure +RUN go generate ./... + +# Build server and tools (CGO disabled to make them 100% static) +ENV CGO_ENABLED 0 +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-graphiql ./cmd/rpdata-graphiql +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-lb2charimport ./cmd/rpdata-lb2charimport +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-lb2logimport ./cmd/rpdata-lb2logimport +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-wikifileimport ./cmd/rpdata-wikifileimport +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-ensurechannels ./cmd/rpdata-ensurechannels +RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/rpdata-as2storyimport ./cmd/rpdata-as2storyimport + +# Move artifacts into final container +FROM alpine:latest +COPY --from=0 /binaries/* /usr/local/bin/ +CMD ["/usr/local/bin/rpdata-graphiql"]