#!/bin/bash #set -x VIRTUALBOX_DISK_SIZE="1500" # Docker Machine for Consul docker-machine \ create \ -d virtualbox \ --virtualbox-disk-size $VIRTUALBOX_DISK_SIZE \ consul-machine # Start Consul docker $(docker-machine config consul-machine) run -d --restart=always \ -p "8500:8500" \ -h "consul" \ progrium/consul -server -bootstrap # Docker Swarm master docker-machine \ create \ -d virtualbox \ --virtualbox-disk-size $VIRTUALBOX_DISK_SIZE \ --swarm \ --swarm-master \ --swarm-discovery="consul://$(docker-machine ip consul-machine):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip consul-machine):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ swarm-master # Docker Swarm node-01 docker-machine \ create \ -d virtualbox \ --virtualbox-disk-size $VIRTUALBOX_DISK_SIZE \ --swarm \ --swarm-discovery="consul://$(docker-machine ip consul-machine):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip consul-machine):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ swarm-node-01 # Docker Swarm node-02 docker-machine \ create \ -d virtualbox \ --virtualbox-disk-size $VIRTUALBOX_DISK_SIZE \ --swarm \ --swarm-discovery="consul://$(docker-machine ip consul-machine):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip consul-machine):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ swarm-node-02 # Configure to use Docker Swarm cluster eval $(docker-machine env --swarm swarm-master)