Skip to content

Instantly share code, notes, and snippets.

@nguni52
Created October 29, 2019 06:44
Show Gist options
  • Save nguni52/64a3215705c21ac0369a41fb0921cf91 to your computer and use it in GitHub Desktop.
Save nguni52/64a3215705c21ac0369a41fb0921cf91 to your computer and use it in GitHub Desktop.
How to create a swarm locally using virtualbox.
#!/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