Learn Docker Swarm
Docker Swarm
VM1
Iniziate docker manager
docker swarm init --advertise-addr $(hostname -i)
Output :
Swarm initialized: current node (qdrdp07xbugnshpy9k8ci4r8o) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-1x8za7xd18khl5d6ksq0x8coxf1ggl4t1nkipywtn6s1hjfici-635zjltegdf22beb93utab7zx 192.168.33.11:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instruction
How show token init as manager and worker
docker swarm join-token manager
docker swarm join-token worker
Show worker and manager running in node :
docker node ls
VM2 and VM3
join as worker
docker swarm join --token SWMTKN-1-1x8za7xd18khl5d6ksq0x8coxf1ggl4t1nkipywtn6s1hjfici-635zjltegdf22beb93utab7zx 192.168.33.11:2377
Check node running :
docker node ls
VM1
Cloning application :
git clone https://github.com/docker/example-voting-app
cd example-voting-app
Deploy Stack
docker stack deploy --compose-file=docker-stack.yml voting_stack
Output :
Creating network voting_stack_default
Creating network voting_stack_frontend
Creating network voting_stack_backend
Creating service voting_stack_worker
Creating service voting_stack_visualizer
Creating service voting_stack_redis
Creating service voting_stack_db
Creating service voting_stack_vote
Creating service voting_stack_result
Show the Stack
docker stack ls
Output:
[senops@vm1 example-voting-app]$ docker stack ls
NAME SERVICES ORCHESTRATOR
voting_stack 6 Swarm
List service on stack
docker stack services voting_stack
Output :
ID NAME MODE REPLICAS IMAGE PORTS
04ya3j6mlzlu voting_stack_visualizer replicated 1/1 dockersamples/visualizer:stable *:8080->8080/tcp
dg8olqegoke5 voting_stack_vote replicated 2/2 dockersamples/examplevotingapp_vote:before *:5000->80/tcp
dt8xk7alhgkr voting_stack_redis replicated 1/1 redis:alpine
jeftuc5zvx6q voting_stack_worker replicated 0/1 dockersamples/examplevotingapp_worker:latest
k0f2zu5lybi4 voting_stack_result replicated 1/1 dockersamples/examplevotingapp_result:before *:5001->80/tcp
ry34ib8sfdxx voting_stack_db replicated 1/1 postgres:9.4
List every stack service in worker
docker service ps voting_stack_vote
Output:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
oe8i96dufht4 voting_stack_vote.1 dockersamples/examplevotingapp_vote:before vm2.wajatmaka.com Running Running 20 minutes ago
npmcpvc3vpnc \_ voting_stack_vote.1 dockersamples/examplevotingapp_vote:before vm2.wajatmaka.com Shutdown Rejected 22 minutes ago "No such image: dockersamples/…"
y20jrj7gza2c voting_stack_vote.2 dockersamples/examplevotingapp_vote:before vm3.wajatmaka.com Running Running 21 minutes ago
Check Service in stack
docker service ps voting_stack_redis
Output:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
0bhkel67jw5w voting_stack_redis.1 redis:alpine vm2.wajatmaka.com Running Running 2 hours ago
docker service ps voting_stack_db
Output:
[senops@vm1 example-voting-app]$ docker service ps voting_stack_db
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
rk13xw3mehzd voting_stack_db.1 postgres:9.4 vm1.wajtamaka.com Running Running 2 hours ago
SCALING UP STACK SERVICE
docker service scale voting_stack_vote=5
Output :
voting_stack_vote scaled to 5
overall progress: 5 out of 5 tasks
1/5: running
2/5: running
3/5: running
4/5: running
5/5: running
verify: Service converged
Check Service in Stack
docker service ps voting_stack_vote
Output:
[senops@vm1 example-voting-app]$ docker service ps voting_stack_vote
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
oe8i96dufht4 voting_stack_vote.1 dockersamples/examplevotingapp_vote:before vm2.wajatmaka.com Running Running 2 hours ago
npmcpvc3vpnc \_ voting_stack_vote.1 dockersamples/examplevotingapp_vote:before vm2.wajatmaka.com Shutdown Rejected 2 hours ago "No such image: dockersamples/…"
y20jrj7gza2c voting_stack_vote.2 dockersamples/examplevotingapp_vote:before vm3.wajatmaka.com Running Running 2 hours ago
dzlna4scadxb voting_stack_vote.3 dockersamples/examplevotingapp_vote:before vm2.wajatmaka.com Running Running 3 minutes ago
sbcosy4tb2gh voting_stack_vote.4 dockersamples/examplevotingapp_vote:before vm1.wajtamaka.com Running Running 2 minutes ago
j2d8k18vkn7w voting_stack_vote.5 dockersamples/examplevotingapp_vote:before vm3.wajatmaka.com Running Running 3 minutes ago
SCALING DOWN STACK SERVICE
docker service scale voting_stack_vote=2