How to run a elasticsearch cluster with docker swarm
docker-machine env node-1 | Invoke-Expression
docker run -d --name portainer -p 9000:9000 -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer
docker network create --driver overlay elk
docker service create --name util --network elk --mode global alpine sleep 1000000000 docker service ps util
docker service create --name escluster --mount type=bind,source=/tmp,target=/data --mode global --constraint 'node.labels.com.db.name==elasticsearch' --network elk --endpoint-mode dnsrr -e ES_JAVA_OPTS="-Xms512m -Xmx512m" elasticsearch:5.3.0 -E cluster.name=home -E network.host=0.0.0.0 -E discovery.zen.ping.unicast.hosts=escluster -E discovery.zen.minimum_master_nodes=1
docker service ps escluster docker service inspect escluster
docker service create -p 5601:5601 --name kibana --constraint 'node.role==manager' --network elk -e ELASTICSEARCH_URL=http://escluster:9200 kibana:5.3
docker-machine ssh node-2
ID=$(docker ps -q --filter label=com.docker.swarm.service.name=util)
docker exec -it $ID apk add --update drill docker exec -it $ID drill escluster
docker exec -it $ID apk add --update curl docker exec -it $ID curl http://escluster:9200/_cluster/health?pretty docker exec -it $ID curl http://escluster:9200/_cat/nodes?v