make coredns/Dockerfile use build stages (#424)

* make coredns/Dockerfile use build stages

This change makes the coredns Dockerfile use build stages to create
the binaries which are then copied to the image for running.

* removing deps
This commit is contained in:
Jon Friesen 2018-09-14 13:36:30 -07:00 committed by Jess Frazelle
parent 35e8964699
commit 3bfafa2f4c

View File

@ -1,32 +1,31 @@
FROM alpine:latest
FROM alpine:latest as builder
LABEL maintainer "Jessie Frazelle <jess@linux.com>"
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go
RUN apk --no-cache add \
ca-certificates
RUN apk --no-cache add \
ca-certificates
ENV COREDNS_VERSION v1.2.2
RUN buildDeps=' \
go \
git \
gcc \
g++ \
libc-dev \
libgcc \
make \
' \
set -x \
&& apk --no-cache add $buildDeps \
&& git clone --depth 1 --branch ${COREDNS_VERSION} https://github.com/coredns/coredns /go/src/github.com/coredns/coredns \
&& cd /go/src/github.com/coredns/coredns \
&& make CHECKS="godeps" \
&& mv coredns /usr/bin/coredns \
&& apk del $buildDeps \
&& rm -rf /go \
&& echo "Build complete."
RUN set -x \
&& apk --no-cache add \
go \
git \
gcc \
g++ \
libc-dev \
libgcc \
make \
&& git clone --depth 1 --branch ${COREDNS_VERSION} https://github.com/coredns/coredns /go/src/github.com/coredns/coredns \
&& cd /go/src/github.com/coredns/coredns \
&& make CHECKS="godeps" \
&& mv coredns /usr/bin/coredns \
&& echo "Build complete."
FROM alpine:latest
COPY --from=builder /usr/bin/coredns /usr/bin/coredns
ENTRYPOINT [ "coredns", "-log" ]