From 6a67bcd04a3c3f01e66cb2df47e885a88232e1f7 Mon Sep 17 00:00:00 2001 From: Aran Wilkinson Date: Mon, 22 May 2017 09:42:12 +0100 Subject: [PATCH] Add new multi-stage Dockerfile for build --- Dockerfile | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5f8db0a..bc383ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,22 @@ -FROM python:3.6-alpine +FROM golang:1.8.1-alpine as builder -RUN pip install prometheus_client requests +WORKDIR /go/src/github.com/infinityworksltd/docker-hub-exporter/ -ENV BIND_PORT 9170 +COPY ./ /go/src/github.com/infinityworksltd/docker-hub-exporter/ -ADD . /usr/src/app -WORKDIR /usr/src/app +RUN apk --update add ca-certificates \ + && apk --update add --virtual build-deps git -CMD ["python", "hub_exporter.py"] +RUN go get \ + && go test ./... \ + && GOOS=linux go build -o app . + +FROM alpine + +RUN addgroup exporter \ + && adduser -S -G exporter exporter \ + && apk --update --no-cache add ca-certificates + +COPY --from=builder /go/src/github.com/infinityworksltd/docker-hub-exporter/app . + +ENTRYPOINT ["/app"] \ No newline at end of file