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 +WORKDIR /go/src/github.com/dutchcoders/transfer.sh + +ENV GO111MODULE=on + # build & install server -RUN go build -o /go/bin/transfersh github.com/dutchcoders/transfer.sh +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 " -FROM golang:1.11-alpine -COPY --from=build /go/bin/transfersh /go/bin/transfersh +COPY --from=build /go/bin/transfersh /go/bin/transfersh ENTRYPOINT ["/go/bin/transfersh", "--listener", ":8080"]