Demo during the Brown Bag session about Docker
Docker engine and docker-machine installed on Ubuntu 16.04 LTS
Virtualbox installed on your laptop or an account on DigitalOcean
git clone https://github.com/benfab/bb-docker.git
./create-swarm.sh --driver virtualbox --manager 3 --worker 1
./create-swarm.sh --driver digitalocean --digitalocean_token <token> --manager 3 --worker 5
docker-machine ls
eval "$(docker-machine env <node-name>)"
docker node ls
docker swarm join-token worker
docker swarm join-token manager
docker-machine regenerate-certs <node-name>
cd dockercoins
docker stack deploy --bundle-file dockercoins.dab dockercoins
docker service ls
docker stack ps dockercoins
docker service update dockercoins_webui --publish-add 8000:80
docker service scale dockercoins_worker=3
docker network ls
docker service create --name debug --network dockercoins_default --mode global busybox sleep 1000000
docker ps
docker exec -it <container-id> sh
nslookup dockercoins_worker
nslookup tasks.dockercoins_worker
With the flags specified, 2 tasks will be updated at a time with a delay of 10 seconds between the tasks updates
docker service update dockercoins_worker --update-parallelism 2 --update-delay 10s --image benfab/dockercoins_worker:v0.1
docker node ps <node-name>
docker node update <node-name> --availability drain
docker service ps dockercoins_hasher
cd ..
./delete-swarm.sh