Convert go-env Dockerfile into a multi-stage build (#683)

Converting to a multi-stage build reduces the size of the final image from ~750MB to ~15MB.
This commit is contained in:
John Gallagher
2018-06-26 13:21:36 -07:00
committed by Soam Vasani
parent 74212f1810
commit a35cd7f4a4
+7 -2
View File
@@ -1,6 +1,6 @@
ARG GO_VERSION=1.9.2
FROM golang:${GO_VERSION}
FROM golang:${GO_VERSION} AS builder
ENV GOPATH /usr
ENV APP ${GOPATH}/src/github.com/fission/fission/environments/go
@@ -10,7 +10,12 @@ ADD server.go ${APP}
WORKDIR ${APP}
RUN go get
RUN go build -o /server server.go
RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o /server server.go
FROM alpine:3.7
WORKDIR /
COPY --from=builder /server /
RUN apk -U add ca-certificates
ENTRYPOINT ["/server"]
EXPOSE 8888