#!/bin/bash # Credit: https://callistaenterprise.se/blogg/teknik/2017/12/18/docker-in-swarm-mode-on-docker-in-docker/ # https://hub.docker.com/_/docker?tab=tags # https://www.blog.labouardy.com/docker-swarm-networking-and-dynamic-reverse-proxy/ SWARM_ENABLED=true DOCKER_VERSION=18.06.3-ce-dind NUM_WORKERS=3 if [ ${SWARM_ENABLED} == "false" ] then docker swarm init fi SWARM_TOKEN=$(docker swarm join-token -q worker) echo $SWARM_TOKEN SWARM_MASTER_IP=$(docker info | grep -w 'Node Address' | awk '{print $3}') echo $SWARM_MASTER_IP for i in $(seq "${NUM_WORKERS}"); do docker run -d --privileged --name worker-${i} --hostname=worker-${i} -p ${i}2375:2375 docker:${DOCKER_VERSION} docker --host=localhost:${i}2375 swarm join --token ${SWARM_TOKEN} ${SWARM_MASTER_IP}:2377 done sleep 10 docker network create --driver overlay docknet docker service create \ --detach=true \ --name=viz \ --publish=8000:8080/tcp \ --constraint=node.role==manager \ --network docknet \ --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \ dockersamples/visualizer docker service create \ --name swarm-viz \ --constraint=node.role==manager \ -p 3001:3000 \ --network docknet \ --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \ mikesir87/swarm-viz docker service create \ --constraint node.role==manager \ --replicas 1 \ --constraint=node.role==manager \ --name dvizz -p 3002:6969 \ --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \ --network docknet \ liske/dvizz docker service create \ --name quotes-service \ --detach=true -p 8080:8080 \ --network docknet \ magnuslarsson/quotes:go-22