From 8c91a2284a683a21da75ee7f683f7b8f9d1d3ce1 Mon Sep 17 00:00:00 2001 From: Douglas Pessoa Date: Tue, 4 Jun 2019 16:56:29 +0000 Subject: [PATCH] Update Dockerfile generating smaller image --- Dockerfile | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3cb4cf3..822e875 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,23 @@ -FROM golang:1.12-alpine as build -LABEL maintainer="Andrea Spacca " +# Default to Go 1.12 +ARG GO_VERSION=1.12 +FROM golang:${GO_VERSION}-alpine as build + +# Necessary to run 'go get' and to compile the linked binary +RUN apk add git musl-dev -# Copy the local package files to the container's workspace. ADD . /go/src/github.com/dutchcoders/transfer.sh -# build & install server -RUN go build -o /go/bin/transfersh github.com/dutchcoders/transfer.sh +WORKDIR /go/src/github.com/dutchcoders/transfer.sh -FROM golang:1.11-alpine -COPY --from=build /go/bin/transfersh /go/bin/transfersh +ENV GO111MODULE=on + +# build & install server +RUN go get -u ./... && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags -a -tags netgo -ldflags '-w -extldflags "-static"' -o /go/bin/transfersh github.com/dutchcoders/transfer.sh + +FROM scratch AS final +LABEL maintainer="Andrea Spacca " + +COPY --from=build /go/bin/transfersh /go/bin/transfersh ENTRYPOINT ["/go/bin/transfersh", "--listener", ":8080"]