diff --git a/Dockerfile b/Dockerfile index 257bdcd86..07e13620f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,8 +7,20 @@ VOLUME /data RUN echo 'data-dir = "/data"' > /config +RUN git clone --depth 1 https://github.com/Masterminds/glide.git /go/src/github.com/Masterminds/glide \ + && cd /go/src/github.com/Masterminds/glide \ + && git fetch --tags --depth 1 \ + && git checkout tags/v0.12.3 -b build \ + && make build \ + && mv ./glide /go/bin \ + && cd / \ + && rm -r /go/src/github.com/Masterminds/glide + COPY . /go/src/github.com/pilosa/pilosa -RUN CGO_ENABLED=0 go install -a github.com/pilosa/pilosa/cmd/pilosa + +RUN cd /go/src/github.com/pilosa/pilosa \ + && make vendor \ + && CGO_ENABLED=0 go install -a github.com/pilosa/pilosa/cmd/pilosa ENTRYPOINT ["/go/bin/pilosa"] CMD ["-config", "/config"] diff --git a/Makefile b/Makefile index 09b5616be..f55fb8445 100644 --- a/Makefile +++ b/Makefile @@ -43,5 +43,5 @@ install: vendor go install $(LDFLAGS) $(FLAGS) $(CLONE_URL)/cmd/pilosa go install $(LDFLAGS) $(FLAGS) $(CLONE_URL)/cmd/pilosactl -docker: vendor +docker: docker build -t pilosa:latest . diff --git a/README.md b/README.md index bd6aacbe2..190fc571b 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,20 @@ The remaining configuration options should be the same on every node in the clus `[[cluster.node]]`: specifies each node within the cluster +## Docker + +You can create a Pilosa container using `make docker` or equivalently: +``` +docker build -t pilosa:latest . +``` + +You can run a temporary container using: +``` +docker run -it --rm --name pilosa -p 15000:15000 pilosa:latest +``` + +When you click `Ctrl+C` to stop the container, the container and the data in the container will be erased. You can leave out `--rm` flag to keep the data in the container. See [Docker documentation](https://docs.docker.com) for other options. + ## Usage You can interact with Pilosa via HTTP requests to the host:port on which you have Pilosa running.