Created
October 29, 2019 06:44
-
-
Save nguni52/64a3215705c21ac0369a41fb0921cf91 to your computer and use it in GitHub Desktop.
How to create a swarm locally using virtualbox.
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
#!/usr/bin/env bash | |
for i in 1 2 3 4; do | |
docker-machine create -d virtualbox --virtualbox-cpu-count 2 --virtualbox-memory 1024 local-moitrack-swarm-$i | |
done | |
eval $(docker-machine env local-moitrack-swarm-1) | |
docker swarm init --advertise-addr $(docker-machine ip local-moitrack-swarm-1) | |
# docker-machine scp swarmpit.sh local-moitrack-swarm-1:~/ | |
docker-machine ssh local-moitrack-swarm-1 "docker run --rm --name swarmpit-installer --volume /var/run/docker.sock:/var/run/docker.sock -e INTERACTIVE=0 -e ADMIN_USERNAME=moitrackadmin -e ADMIN_PASSWORD=Moipone.2017 swarmpit/install:1.7" | |
MANAGER_TOKEN=$(docker swarm join-token -q manager) | |
WORKER_TOKEN=$(docker swarm join-token -q worker) | |
for i in 2; do | |
eval $(docker-machine env local-moitrack-swarm-$i) | |
docker swarm join \ | |
--token ${MANAGER_TOKEN} \ | |
--advertise-addr $(docker-machine ip local-moitrack-swarm-$i) \ | |
$(docker-machine ip local-moitrack-swarm-1):2377 | |
done | |
for i in 3 4; do | |
eval $(docker-machine env local-moitrack-swarm-$i) | |
docker swarm join \ | |
--token ${WORKER_TOKEN} \ | |
--advertise-addr $(docker-machine ip local-moitrack-swarm-$i) \ | |
$(docker-machine ip local-moitrack-swarm-1):2377 | |
done | |
echo ">> The swarm cluster is up and running" | |
# docker-machine scp proxy.sh local-moitrack-swarm-1:~/ | |
# docker-machine ssh local-moitrack-swarm-1 "chmod a+x proxy.sh && /bin/sh proxy.sh" | |
# docker-machine scp .env local-moitrack-swarm-1:~/ | |
docker-machine scp prod-allservice-docker-compose.yml local-moitrack-swarm-1:~/ | |
docker-machine ssh local-moitrack-swarm-1 "docker stack deploy --compose-file=prod-allservice-docker-compose.yml prod" | |
echo "We have now deployed all the services" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment