Last active
November 2, 2017 02:40
-
-
Save ajeetraina/63707038eb3276f374aa1dde07280f15 to your computer and use it in GitHub Desktop.
Scripted Installation of M-node Master Node and N-node worker nodes on Apple macOS Sierra
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#Script to setup M-node master node and N-node Worker Node running Docker 1.13.1 on Apple Mac Virtualbox | |
echo "--Setting up Docker Machine---" | |
curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \ | |
chmod +x /usr/local/bin/docker-machine | |
echo "--Verifying Docker Machine Installation--" | |
docker-machine version | |
echo "---Create manager-1" | |
docker-machine create -d virtualbox manager-1 | |
manager_ip=$(docker-machine ip manager-1) | |
echo "---Swarm Init" | |
docker-machine ssh manager-1 docker swarm init --listen-addr ${manager_ip} --advertise-addr ${manager_ip} | |
printf "\n---Get Tokens\n" | |
manager_token=$(docker-machine ssh manager-1 docker swarm join-token -q manager) | |
worker_token=$(docker-machine ssh manager-1 docker swarm join-token -q worker) | |
echo ${manager_token} | |
echo ${worker_token} | |
for n in {2..3} ; do | |
printf "\n---Create manager-${n}\n" | |
docker-machine create -d virtualbox manager-${n} | |
ip=$(docker-machine ip manager-${n}) | |
echo "--- Swarm Manager Join" | |
docker-machine ssh manager-${n} docker swarm join --listen-addr ${ip} --advertise-addr ${ip} --token ${manager_token} ${manager_ip}:2377 | |
done | |
for n in {1..3} ; do | |
printf "\n---Create worker-${n}\n" | |
docker-machine create -d virtualbox worker-${n} | |
ip=$(docker-machine ip worker-${n}) | |
echo "--- Swarm Worker Join" | |
docker-machine ssh worker-${n} docker swarm join --listen-addr ${ip} --advertise-addr ${ip} --token ${worker_token} ${manager_ip}:2377 | |
done | |
printf "\n---Launching Visualizer\n" | |
docker-machine ssh manager-1 docker run -it -d -p 8080:8080 -e HOST=${manager_ip} -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock manomarks/visualizer | |
printf "\n\n------------------------------------\n" | |
echo "To connect to your cluster..." | |
echo 'eval $(docker-machine env manager-1)' | |
echo "To visualize your cluster..." | |
echo "Open a browser to http://${manager_ip}:8080/" |
Thanks. I have fixed it.
Nice! How much resources should one account for this setup?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you , deploy script working well Apple macOS Sierra
only minor typo change from "manager1" to "manager-1"