Use golang base image and not make

Instead of using make to install all dependencies, this uses the golang
base image. This way those common base layers can be shared across other
golang based images.
This also stops using the Makefile to install the dependencies because
we would have to install all dependencies everytime something changes.

Change-Id: I5e143cc4ec3e5c9027ec4912be12297e704ffff5
This commit is contained in:
Johannes 'fish' Ziemke 2015-01-12 15:15:26 +01:00
parent 7b8fd9c7a5
commit 8a7289ce55

View file

@ -1,12 +1,27 @@
FROM ubuntu:13.10
FROM golang:1.4
MAINTAINER Prometheus Team <prometheus-developers@googlegroups.com>
RUN apt-get -qy update && apt-get -qy install vim-common gcc mercurial && \
go get github.com/tools/godep
WORKDIR /go/src/github.com/prometheus/prometheus
ADD . /go/src/github.com/prometheus/prometheus
RUN godep restore && go get -d
RUN ./utility/embed-static.sh web/static web/templates | gofmt > web/blob/files.go
RUN go build -ldflags " \
-X main.buildVersion $(cat VERSION) \
-X main.buildRevision $(git rev-parse --short HEAD) \
-X main.buildBranch $(git rev-parse --abbrev-ref HEAD) \
-X main.buildUser root \
-X main.buildDate $(date +%Y%m%d-%H:%M:%S) \
-X main.goVersion $GOLANG_VERSION \
"
RUN cd tools/rule_checker && go build
ADD ./documentation/examples/prometheus.conf /prometheus.conf
EXPOSE 9090
VOLUME [ "/prometheus" ]
WORKDIR /prometheus
ENTRYPOINT [ "/prometheus-src/prometheus" ]
CMD [ "-config.file=/prometheus.conf" ]
RUN apt-get update && apt-get install -yq make git curl sudo mercurial vim-common gcc
ADD . /prometheus-src
RUN cd /prometheus-src && make tools binary
ADD ./documentation/examples/prometheus.conf /prometheus.conf
ENTRYPOINT [ "/go/src/github.com/prometheus/prometheus/prometheus" ]
CMD [ "-logtostderr", "-config.file=/prometheus.conf" ]