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:
committed by
Soam Vasani
parent
74212f1810
commit
a35cd7f4a4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user