Last active
June 23, 2017 16:37
-
-
Save alshabib/199104074d840e489ed7f6f2465d35d1 to your computer and use it in GitHub Desktop.
demo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i in 1 2 3; do | |
docker-machine create -d virtualbox node-$i | |
done | |
dock node-1 | |
docker swarm init \ | |
--advertise-addr $(docker-machine ip node-1) | |
TOKEN=$(docker swarm join-token -q worker) | |
for i in 2 3; do | |
dock node-$i | |
docker swarm join \ | |
--token $TOKEN \ | |
--advertise-addr $(docker-machine ip node-$i) \ | |
$(docker-machine ip node-1):2377 | |
done | |
docker pull dockersamples/visualizer | |
docker run -it -d -p 9000:8080 -v /var/run/docker.sock:/var/run/docker.sock dockersamples/visualizer | |
open http://$(docker-machine ip node-1):9000 | |
dock node-1 | |
docker node ls | |
docker service create --name go-demo-db \ | |
mongo:3.2.10 | |
docker service inspect --pretty go-demo-db | |
docker service rm go-demo-db | |
docker network create --driver overlay go-demo | |
docker service create --name go-demo-db \ | |
--network go-demo \ | |
mongo:3.2.10 | |
docker service inspect --pretty go-demo-db | |
docker service create --name util \ | |
--network go-demo --mode global \ | |
alpine sleep 1000000000 | |
docker service ps util | |
ID=$(docker ps -q --filter label=com.docker.swarm.service.name=util) | |
docker exec -it $ID apk add --update drill | |
docker exec -it $ID drill go-demo-db | |
docker network create --driver overlay proxy | |
docker network ls -f "driver=overlay" | |
docker service create --name go-demo \ | |
-e DB=go-demo-db \ | |
--network go-demo \ | |
--network proxy \ | |
vfarcic/go-demo:1.0 | |
docker service create --name proxy \ | |
-p 80:80 \ | |
-p 443:443 \ | |
-p 8080:8080 \ | |
--network proxy \ | |
-e MODE=swarm \ | |
vfarcic/docker-flow-proxy | |
docker service ps proxy | |
curl "$(docker-machine ip node-1):8080/v1/docker-flow-proxy/reconfigure?serviceName=go-demo&servicePath=/demo&port=8080" | |
curl -i "$(docker-machine ip node-1)/demo/hello" | |
curl -i "$(docker-machine ip node-3)/demo/hello" | |
NODE=$(docker service ps proxy | tail -n +2 | awk '{print $4}') | |
dock $NODE | |
ID=$(docker ps -q \ | |
--filter label=com.docker.swarm.service.name=proxy) | |
docker exec -it \ | |
$ID cat /cfg/haproxy.cfg | |
dock node-1 | |
docker service scale go-demo=5 | |
ID=$(docker ps -q --filter label=com.docker.swarm.service.name=util) | |
docker exec -it $ID apk add --update drill | |
docker exec -it $ID drill go-demo | |
docker-machine rm -f node-1 node-2 node-3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment