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
|
ARG GO_VERSION=1.9.2
|
||||||
|
|
||||||
FROM golang:${GO_VERSION}
|
FROM golang:${GO_VERSION} AS builder
|
||||||
|
|
||||||
ENV GOPATH /usr
|
ENV GOPATH /usr
|
||||||
ENV APP ${GOPATH}/src/github.com/fission/fission/environments/go
|
ENV APP ${GOPATH}/src/github.com/fission/fission/environments/go
|
||||||
@@ -10,7 +10,12 @@ ADD server.go ${APP}
|
|||||||
|
|
||||||
WORKDIR ${APP}
|
WORKDIR ${APP}
|
||||||
RUN go get
|
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"]
|
ENTRYPOINT ["/server"]
|
||||||
EXPOSE 8888
|
EXPOSE 8888
|
||||||
|
|||||||
Reference in New Issue
Block a user