Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker Swarm Introduction

1c23303ba42e0f9c0e017a94e900ea6c?s=47 Victor Vieux
December 05, 2014

Docker Swarm Introduction

Docker Swarm breakout session at DockerCon EU.

1c23303ba42e0f9c0e017a94e900ea6c?s=128

Victor Vieux

December 05, 2014
Tweet

Transcript

  1. Docker Swarm! @aluzzardi - @vieux!

  2. Demo! us-west! us-east! Docker! CLI! Docker! CLI! Docker! CLI! =!

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

    Docker! CLI!
  4. Setup! •  Create a cluster:! $ swarm create •  Add

    nodes to a cluster:! $ swarm join --token=<token> --addr=<node_ip> •  List nodes in a cluster! $ swarm list --token=<token> •  Start Swarm! $ swarm manage --token=<token> --addr=<swarm_ip> ! !
  5. Resource Management! •  Memory! " " $ docker run -m

    1g … •  CPU! " " $ docker run -c 1 … •  Ports! " " $ docker run -p 80:80 … •  More to come, ex: network interfaces! ! ! !
  6. 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! !
  7. Rescheduling! •  Rescheduling policies; similar to `--restart`! •  Pending status!

    ! ! !
  8. 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 ☺ : !
  9. http://github.com/docker/swarm! @aluzzardi - @vieux! Thank You.!