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> MAINTAINER Jessica Frazelle <jess@linux.com>
ENV PATH /go/bin:/usr/local/go/bin:$PATH ENV PATH /go/bin:/usr/local/go/bin:$PATH
@ -7,23 +7,28 @@ ENV GOPATH /go
RUN apk add --no-cache \ RUN apk add --no-cache \
ca-certificates ca-certificates
COPY static /src/static
COPY templates /src/templates
RUN set -x \ RUN set -x \
&& apk add --no-cache --virtual .build-deps \ && apk add --no-cache --virtual .build-deps \
go \
git \ git \
gcc \ gcc \
libc-dev \ libc-dev \
libgcc \ libgcc \
&& go get -v github.com/jessfraz/reg \ && go get -v github.com/jessfraz/reg \
&& cd /go/src/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 \ && apk del .build-deps \
&& rm -rf /go \ && rm -rf /go \
&& echo "Build complete." && 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 WORKDIR /src
ENTRYPOINT [ "reg-server" ] ENTRYPOINT [ "reg-server" ]
CMD [ "--help" ]