From 51f2acb69bdb863e10cef9c5650802d7c82d3b6e Mon Sep 17 00:00:00 2001 From: Sven Gottwald Date: Fri, 19 Apr 2019 12:29:13 +0200 Subject: [PATCH] Add Dockerfile using multi-stage build --- Dockerfile.multistage-build | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Dockerfile.multistage-build diff --git a/Dockerfile.multistage-build b/Dockerfile.multistage-build new file mode 100644 index 0000000..9012805 --- /dev/null +++ b/Dockerfile.multistage-build @@ -0,0 +1,39 @@ +# +# Builder +# + +FROM golang:alpine as builder + +# use version (for example "v0.3.3") or "master" +ARG WATCHTOWER_VERSION=master + +RUN \ + apk add --no-cache \ + alpine-sdk \ + ca-certificates \ + git \ + tzdata && \ + \ + mkdir --parents $GOPATH/src/github.com/containrrr && \ + cd $GOPATH/src/github.com/containrrr && \ + git clone --branch "${WATCHTOWER_VERSION}" https://github.com/containrrr/watchtower.git && \ + cd watchtower && \ + \ + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' . && \ + GO111MODULE=on go test ./... -v + + +# +# watchtower +# + +FROM scratch + +LABEL "com.centurylinklabs.watchtower"="true" + +# copy files from other container +COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo +COPY --from=builder /go/src/github.com/containrrr/watchtower/watchtower /watchtower + +ENTRYPOINT ["/watchtower"]