I've used the commands from this gist (duplicated below) to create a Docker Swarm using Consul.
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=$DO_TOKEN \
--digitalocean-size=512mb \
--digitalocean-region=nyc3 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-15-04-x64 \
docker-swarm-kv-store
docker $(docker-machine config docker-swarm-kv-store) run -d \
--net=host progrium/consul --server -bootstrap-expect 1
kvip=$(docker-machine ip docker-swarm-kv-store)
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=$DO_TOKEN \
--digitalocean-size=2gb \
--digitalocean-region=nyc3 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-15-04-x64 \
--swarm \
--swarm-master \
--swarm-discovery consul://${kvip}:8500 \
--engine-opt "cluster-store consul://${kvip}:8500" \
--engine-opt "cluster-advertise eth1:2376" \
docker-swarm-master
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=$DO_TOKEN \
--digitalocean-size=2gb \
--digitalocean-region=nyc3 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-15-04-x64 \
--swarm \
--swarm-discovery consul://${kvip}:8500 \
--engine-opt "cluster-store consul://${kvip}:8500" \
--engine-opt "cluster-advertise eth1:2376" \
docker-swarm-agent-1
eval $(docker-machine env --swarm docker-swarm-master)
docker info
Does Docker Machine ensure that the swarm is secure (perhaps by managing SSL certs under-the-covers), or can anyone join my Consul cluster by pointing at ${kvip}:8500
?