Slide 1

Slide 1 text

Docker Swarm on Mesos @tnachen - @vieux

Slide 2

Slide 2 text

Agenda • Docker Swarm introduction • Docker Swarm on Mesos • How to setup Docker Swarm on DCOS • DEMO

Slide 3

Slide 3 text

Running containers on multiple hosts

Slide 4

Slide 4 text

Docker CLI Docker CLI Docker CLI Today

Slide 5

Slide 5 text

Docker CLI Docker CLI Swarm With Docker Swarm

Slide 6

Slide 6 text

Swarm in a nutshell • Exposes several Docker Engines as a single virtual Engine • Serves the standard Docker API • Extremely easy to get started • Batteries included but swappable

Slide 7

Slide 7 text

Timeline Oct Nov Dec Jan Feb Jun Proof of Concept DockerCon EU Open Repository First Release Candidate Swarm Beta Release Global Hack Day Open Proposal 0.2.0 Release 0.3.0 Release experimental mesos integration Apr Aug 0.4.0 Release Nov 0.5.0 Release stable mesos integration

Slide 8

Slide 8 text

Bring the Docker workflow on a Mesos Cluster

Slide 9

Slide 9 text

+ Mesos CLI Mesos Agents + + + + + + + + + + + + + Mesos Masters Marathon Mesos Cluster

Slide 10

Slide 10 text

+ Mesos CLI Mesos Agents + + + + + + + + + + + + + Mesos Masters Marathon Docker CLI Mesos Cluster + Docker Swarm

Slide 11

Slide 11 text

+ Mesos CLI Mesos Agents + + + + + + + + + + + + + Mesos Masters Marathon Docker CLI shipyard kitematic compose Mesos Cluster + Docker Swarm

Slide 12

Slide 12 text

Swarm Scheduler 2 steps: • 1- Apply filters to exclude nodes/offers - ports - constraints - affinity - health - dependency • 2- Use a strategy to pick the best node/offer - binpack - spread - random

Slide 13

Slide 13 text

Resource Management • Memory $ docker run -m 1g … • CPU $ docker run -c 1 … • Ports $ docker run -p 80:80 …

Slide 14

Slide 14 text

Scheduling parameters • Constraints docker run -e “constraint:node==agent-04” … docker run -e “constraint:region==us-east” … • (anti-)Affinities docker run --name redis-master redis docker run --name redis-slave -e “affinity:container!=redis*” …

Slide 15

Slide 15 text

Why Docker Swarm + Mesos? Scalable to 10,000s of nodes Benefit from Mesos features / APIs Mesos + Docker Ecosystem Docker client experience

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Swarm

Slide 19

Slide 19 text

Mesosphere Universe

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Install: dcos package install swarm Setup: eval $(dcos swarm env) Run: docker run -c 1 busybox ls

Slide 23

Slide 23 text

Demo docker-compose on DCOS

Slide 24

Slide 24 text

http://github.com/docker/swarm http://mesosphere.com/learn #docker-swarm on freenode @tnachen - @vieux Thank You. Questions?