diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..dc1bed0d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM golang:1.9-alpine + +RUN apk update && apk upgrade && \ + apk add --no-cache bash git openssh make + +RUN go get -u github.com/kardianos/govendor +ADD . /go/src/github.com/travisjeffery/jocko +WORKDIR /go/src/github.com/travisjeffery/jocko +RUN govendor sync +RUN govendor test -v -p=1 +local +RUN go build -o jocko cmd/jocko/main.go +RUN go build -o createtopic cmd/createtopic/main.go + +FROM alpine:latest + +COPY --from=0 /go/src/github.com/travisjeffery/jocko/jocko /usr/local/bin/jocko +COPY --from=0 /go/src/github.com/travisjeffery/jocko/createtopic /usr/local/bin/createtopic + +EXPOSE 9092 9093 9094 + +VOLUME "/tmp/jocko" + +CMD ["jocko"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..c095a0b5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3' + +services: + + jocko_main: + build: + context: . + image: jocko + + jocko_cluster: + build: + context: . + image: jocko + command: jocko --serfmembers=jocko_main:9094 diff --git a/examples/cluster/README.md b/examples/cluster/README.md index 166d59ec..fe840dc2 100644 --- a/examples/cluster/README.md +++ b/examples/cluster/README.md @@ -39,3 +39,7 @@ $ ./jocko broker \ --serfmembers=127.0.0.1:9003 \ --id=3 ``` + +## docker-compose cluster + +To start a [docker compose](https://docs.docker.com/compose/) cluster node use the provided `/docker-compose.yml`.