From 0b86b88de77ae364394bed4455813278bdfbdca9 Mon Sep 17 00:00:00 2001 From: Alex Wigen Date: Sun, 22 Mar 2020 22:55:29 +0100 Subject: [PATCH] Remove build dependencies from final docker image (multistage build) (#1057) This multistage build takes the resulting image size down from 346MB to 90MB. --- Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index a1b97c73..2f0a1b02 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,13 @@ -FROM alpine:edge -ENTRYPOINT ["/bin/matterbridge"] +FROM alpine:edge AS builder COPY . /go/src/github.com/42wim/matterbridge -RUN apk update && apk add go git gcc musl-dev ca-certificates mailcap \ +RUN apk update && apk add go git gcc musl-dev \ && cd /go/src/github.com/42wim/matterbridge \ && export GOPATH=/go \ && go get \ - && go build -x -ldflags "-X main.githash=$(git log --pretty=format:'%h' -n 1)" -o /bin/matterbridge \ - && rm -rf /go \ - && apk del --purge git go gcc musl-dev + && go build -x -ldflags "-X main.githash=$(git log --pretty=format:'%h' -n 1)" -o /bin/matterbridge + +FROM alpine:edge +RUN apk --no-cache add ca-certificates mailcap +COPY --from=builder /bin/matterbridge /bin/matterbridge +ENTRYPOINT ["/bin/matterbridge"]