make reg-server Dockerfile multi-part build

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
This commit is contained in:
Jess Frazelle 2018-01-01 18:34:00 -05:00
parent 6ac1119737
commit 5fba47839a
No known key found for this signature in database
GPG key ID: 18F3685C0022BFF3

View file

@ -1,4 +1,4 @@
FROM alpine:latest
FROM golang:alpine as builder
MAINTAINER Jessica Frazelle <jess@linux.com>
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" ]