summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Wigen <alex@wigen.net>2020-03-22 22:55:29 +0100
committerGitHub <noreply@github.com>2020-03-22 22:55:29 +0100
commit0b86b88de77ae364394bed4455813278bdfbdca9 (patch)
tree415f6c8e204be63c4037e6057527763d3cb8ae13
parent98033b1ba77fcf55378eccf35c2a251b1278464b (diff)
downloadmatterbridge-msglm-0b86b88de77ae364394bed4455813278bdfbdca9.tar.gz
matterbridge-msglm-0b86b88de77ae364394bed4455813278bdfbdca9.tar.bz2
matterbridge-msglm-0b86b88de77ae364394bed4455813278bdfbdca9.zip
Remove build dependencies from final docker image (multistage build) (#1057)
This multistage build takes the resulting image size down from 346MB to 90MB.
-rw-r--r--Dockerfile14
1 files 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"]