Update Dockerfile to multi-stage build

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2018-05-05 18:15:43 +02:00
parent 2a9affe04c
commit 017e6e4879
Signed by: luzifer
GPG Key ID: DC2729FDD34BE99E

View File

@ -1,16 +1,24 @@
FROM golang:alpine FROM golang:alpine as builder
LABEL maintainer "Knut Ahlers <knut@ahlers.me>"
ADD . /go/src/github.com/Luzifer/ots ADD . /go/src/github.com/Luzifer/ots
WORKDIR /go/src/github.com/Luzifer/ots WORKDIR /go/src/github.com/Luzifer/ots
RUN set -ex \ RUN set -ex \
&& apk add --update git ca-certificates \ && apk add --update git \
&& go install -ldflags "-X main.version=$(git describe --tags || git rev-parse --short HEAD || echo dev)" \ && go install -ldflags "-X main.version=$(git describe --tags || git rev-parse --short HEAD || echo dev)"
&& apk del --purge git
FROM alpine:latest
LABEL maintainer "Knut Ahlers <knut@ahlers.me>"
RUN set -ex \
&& apk --no-cache add ca-certificates
COPY --from=builder /go/bin/ots /usr/local/bin/ots
EXPOSE 3000 EXPOSE 3000
ENTRYPOINT ["/go/bin/ots"] ENTRYPOINT ["/usr/local/bin/ots"]
CMD ["--"] CMD ["--"]
# vim: set ft=Dockerfile: