From 5fba47839ad8ff14f90524d0946fbd658b6fb3a5 Mon Sep 17 00:00:00 2001 From: Jess Frazelle Date: Mon, 1 Jan 2018 18:34:00 -0500 Subject: [PATCH] make reg-server Dockerfile multi-part build Signed-off-by: Jess Frazelle --- server/Dockerfile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/server/Dockerfile b/server/Dockerfile index 1e8a5bb6..32338db3 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:latest +FROM golang:alpine as builder MAINTAINER Jessica Frazelle ENV PATH /go/bin:/usr/local/go/bin:$PATH @@ -7,23 +7,28 @@ ENV GOPATH /go RUN apk add --no-cache \ ca-certificates -COPY static /src/static -COPY templates /src/templates - RUN set -x \ && apk add --no-cache --virtual .build-deps \ - go \ git \ gcc \ libc-dev \ libgcc \ && go get -v github.com/jessfraz/reg \ && cd /go/src/github.com/jessfraz/reg \ - && go build -o /usr/bin/reg-server ./server \ + && CGO_ENABLED=0 go build -a -tags netgo -ldflags '-extldflags "-static"' -o /usr/bin/reg-server ./server \ && apk del .build-deps \ && rm -rf /go \ && echo "Build complete." +FROM scratch + +COPY --from=builder /usr/bin/reg-server /usr/bin/reg-server +COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs + +COPY static /src/static +COPY templates /src/templates + WORKDIR /src ENTRYPOINT [ "reg-server" ] +CMD [ "--help" ]