Simple Docker-based build option

This Dockerfile allows anyone with a recent version of Docker to quickly build a fully working Grafana container without any local build tooling. Pulling the sources from Git and calling `docker build .` is enough.
This commit is contained in:
Lorenz Brun 2018-01-29 12:01:05 +01:00 committed by Leonard Gram
parent c1b9bbc2cf
commit a5d1fb7e56

28
Dockerfile Normal file
View File

@ -0,0 +1,28 @@
FROM golang:1.9
RUN go get -u github.com/golang/dep/cmd/dep
WORKDIR $GOPATH/src/github.com/grafana/grafana
COPY Gopkg.toml Gopkg.lock ./
RUN dep ensure --vendor-only
COPY pkg pkg
RUN go install ./pkg/cmd/grafana-server
RUN go install ./pkg/cmd/grafana-cli
RUN strip $GOPATH/bin/grafana-server
RUN strip $GOPATH/bin/grafana-cli
FROM node:8
WORKDIR /usr/src/app/
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
ENV NODE_ENV production
COPY . ./
RUN yarn run build
FROM debian:stretch-slim
WORKDIR /app
ENV PATH $PATH:/app/bin
COPY --from=0 /go/bin/grafana-server ./bin/
COPY --from=0 /go/bin/grafana-cli ./bin/
COPY --from=1 /usr/src/app/public ./public
COPY --from=1 /usr/src/app/tools ./tools
COPY conf ./conf
CMD ["grafana-server"]