diff --git a/dind_swarm_setup.sh b/dind_swarm_setup.sh index 7c134297..704c408d 100755 --- a/dind_swarm_setup.sh +++ b/dind_swarm_setup.sh @@ -1,5 +1,7 @@ #!/bin/bash +ECHO_COLOR="\033[0;34m" +ECHO_COLOR_END="\033[0m" SWARM_MANAGER_IP="" SWARM_WORKER_NUMBER=4 @@ -7,30 +9,33 @@ if [ -z ${SWARM_MANAGER_IP} ]; then # See https://stackoverflow.com/a/25851186 SWARM_MANAGER_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') fi - -echo "Leave possible swarm and down all services..." +echo -e "${ECHO_COLOR}Leave possible swarm and down all services...${ECHO_COLOR_END}" docker swarm leave --force -docker-compose --file dind_swarm.yml down +docker-compose --file dind_swarm.yml down -echo "Start storage container" +echo -e "${ECHO_COLOR}Start storage container...${ECHO_COLOR_END}" docker-compose --file dind_swarm.yml up --detach storage sleep 3 -echo "Mount network storage to host system..." -sudo mkdir -p /mnt/nopaque -sudo umount /mnt/nopaque -sudo mount -t cifs -o gid=${USER},password=nopaque,uid=${USER},user=nopaque,vers=3.0 //localhost/storage.nopaque /mnt/nopaque +echo -e "${ECHO_COLOR}Mount network storage to host system...${ECHO_COLOR_END}" +if [ ! -d "/mnt/nopaque" ]; then + sudo mkdir -p /mnt/nopaque +fi +if mountpoint -q /mnt/nopaque; then + sudo umount --force /mnt/nopaque +fi +sudo mount --types cifs --options gid=${USER},password=nopaque,uid=${USER},user=nopaque,vers=3.0 //localhost/storage.nopaque /mnt/nopaque -echo "Start worker service(s)" +echo -e "${ECHO_COLOR}Start worker service(s)...${ECHO_COLOR_END}" docker-compose --file dind_swarm.yml up --detach --scale worker=${SWARM_WORKER_NUMBER} worker viz sleep 7 -echo "Init Docker swarm..." -docker swarm init --advertise-addr ${SWARM_MANAGER_IP} +echo -e "${ECHO_COLOR}Init Docker swarm...${ECHO_COLOR_END}" +docker swarm init --advertise-addr ${SWARM_MANAGER_IP} > /dev/null -echo "Add workers to swarm..." +echo -e "${ECHO_COLOR}Add workers to swarm...${ECHO_COLOR_END}" SWARM_WORKER_TOKEN=$(docker swarm join-token -q worker) for i in $(seq 1 ${SWARM_WORKER_NUMBER}); do - echo -n "[opaque_worker_${i}]: " + echo -n "[worker_${i}]: " docker-compose --file dind_swarm.yml exec --index=${i} worker docker swarm join --token ${SWARM_WORKER_TOKEN} ${SWARM_MANAGER_IP}:2377 done