Slide 1

Slide 1 text

Docker Swarm! @aluzzardi - @vieux!

Slide 2

Slide 2 text

Demo! us-west! us-east! Docker! CLI! Docker! CLI! Docker! CLI! =! RAM: 2GB! CPU: 1core!

Slide 3

Slide 3 text

Demo! us-west! us-east! =! RAM: 2GB! CPU: 1core! Docker! CLI! Docker! CLI!

Slide 4

Slide 4 text

Setup! •  Create a cluster:! $ swarm create •  Add nodes to a cluster:! $ swarm join --token= --addr= •  List nodes in a cluster! $ swarm list --token= •  Start Swarm! $ swarm manage --token= --addr= ! !

Slide 5

Slide 5 text

Resource Management! •  Memory! " " $ docker run -m 1g … •  CPU! " " $ docker run -c 1 … •  Ports! " " $ docker run -p 80:80 … •  More to come, ex: network interfaces! ! ! !

Slide 6

Slide 6 text

Constraints! •  Standard constraints induced from docker info! docker run -e “constraint:operatingsystem=fedora” … " " docker run -e “constraint:storagedriver=aufs” … •  Custom constraints with host labels! " " docker -d --label “region=us-east” " " docker run -e “constraint:region=us-east” … •  Pin a container to a specific host! " " docker run –e “constraint:node=ubuntu-2” … •  More to come, ex: affinity! !

Slide 7

Slide 7 text

Rescheduling! •  Rescheduling policies; similar to `--restart`! •  Pending status! ! ! !

Slide 8

Slide 8 text

Swarm scheduler! 2 steps:! ! •  1- Apply filters to exclude nodes! " " - ports! " " - labels! " " - health! •  2- Use a strategy to pick the best node! " " - bin packing! " " - random! ! ! ! ! Contributions are welcome ☺ : !

Slide 9

Slide 9 text

http://github.com/docker/swarm! @aluzzardi - @vieux! Thank You.!