Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save frankmanzhu/6824162ef3d331c61f35996a503210fd to your computer and use it in GitHub Desktop.
Save frankmanzhu/6824162ef3d331c61f35996a503210fd to your computer and use it in GitHub Desktop.
docker visualizer on port 5001
create_vms.sh
#!/bin/bash
# Creates (6) VirtualBox VMs
set -e
vms=("manager1", "manager2", "manager3", "worker1" "worker2" "worker3")
for vm in ${vms[@]}
do
docker-machine create \
--driver vmwarevsphere --vmwarevsphere-vcenter=192.168.254.60 --vmwarevsphere-username=root --vmwarevsphere-password=pass \
--vmwarevsphere-memory-size "1024" \
--vmwarevsphere-cpu-count "1" \
--vmwarevsphere-disk-size "20000" \
--engine-label purpose=backend \
${vm}
done
docker-machine ls
echo "Script completed..."
Create_swarm.sh
#!/bin/sh
# Creates Docker swarm using (6) VirtualBox VMs
set -e
vms=( "manager1" "manager2" "manager3"
"worker1" "worker2" "worker3" )
SWARM_MANAGER_IP=$(docker-machine ip manager1)
echo ${SWARM_MANAGER_IP}
docker-machine ssh manager1 \
"docker swarm init \
--advertise-addr ${SWARM_MANAGER_IP}"
docker-machine env manager1
eval $(docker-machine env manager1)
MANAGER_SWARM_JOIN=$(docker-machine ssh ${vms[0]} "docker swarm join-token manager")
MANAGER_SWARM_JOIN=$(echo ${MANAGER_SWARM_JOIN} | grep -E "(docker).*(2377)" -o)
MANAGER_SWARM_JOIN=$(echo ${MANAGER_SWARM_JOIN//\\/''})
echo ${MANAGER_SWARM_JOIN}
# two other manager nodes
for vm in ${vms[@]:1:2}
do
docker-machine ssh ${vm} ${MANAGER_SWARM_JOIN}
done
WORKER_SWARM_JOIN=$(docker-machine ssh manager1 "docker swarm join-token worker")
WORKER_SWARM_JOIN=$(echo ${WORKER_SWARM_JOIN} | grep -E "(docker).*(2377)" -o)
WORKER_SWARM_JOIN=$(echo ${WORKER_SWARM_JOIN//\\/''})
echo ${WORKER_SWARM_JOIN}
# three worker nodes
for vm in ${vms[@]:3:3}
do
docker-machine ssh ${vm} ${WORKER_SWARM_JOIN}
done
docker node ls
echo "Script completed..."
docker service create \
-d --name swarm-visualizer \
--publish 5001:8080/tcp \
--constraint node.role==manager \
--mode global \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
dockersamples/visualizer:latest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment