Skip to content

Instantly share code, notes, and snippets.

@rajcspsg
Last active February 23, 2020 02:56
Show Gist options
  • Save rajcspsg/067283a59e9343c68d757bc6b8d733e8 to your computer and use it in GitHub Desktop.
Save rajcspsg/067283a59e9343c68d757bc6b8d733e8 to your computer and use it in GitHub Desktop.
Docker Swarm
managers=3
workers=3
for node in $(seq 1 $managers); do echo "======> Creating manager$node machine ..."; docker-machine create -d virtualbox manager$node; done
for node in $(seq 1 $workers); do echo "======> Creating worker$node machine ..."; docker-machine create -d virtualbox worker$node; done
docker-machine ssh manager1 "docker swarm init --listen-addr $(docker-machine ip manager1) --advertise-addr $(docker-machine ip manager1)"
export manager_token=`docker-machine ssh manager1 "docker swarm join-token manager -q"`
export worker_token=`docker-machine ssh manager1 "docker swarm join-token worker -q"`
for node in $(seq 2 $managers); do echo "======> manager$node joining swarm as manager ..."; docker-machine ssh manager$node "docker swarm join --token $manager_token --listen-addr $(docker-machine ip manager$node) --advertise-addr $(docker-machine ip manager$node) $(docker-machine ip manager1)"; done
for node in $(seq 1 $workers); do echo "======> worker$node joining swarm as worker ..."; docker-machine ssh worker$node "docker swarm join --token $worker_token --listen-addr $(docker-machine ip worker$node) --advertise-addr $(docker-machine ip worker$node) $(docker-machine ip manager1):2377"; done
docker-machine ssh manager1 "docker node ls"
for node in $(seq 1 $managers); do echo "======> Creating manager$node machine ..."; docker-machine rm manager$node; done
for node in $(seq 1 $workers); do echo "======> Creating worker$node machine ..."; docker-machine rm worker$node; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment