Slide 1

Slide 1 text

Docker 1.11 Overview Mike Coleman ([email protected]) @mikegcoleman

Slide 2

Slide 2 text

What’s in 1.11 • Swarm container restarts on node failure • containerd and runC integration • Not 1.11 specific, but Docker for Mac • DNS round robin load balancing • Compose improvements

Slide 3

Slide 3 text

Swarm Container Rescheduling ● Allows for container restarts on node failure ● Set via environment variable or label $ docker run -d -e reschedule:on-node-failure redis $ docker run -d -l 'com.docker.swarm.reschedule-policy=["on-node-failure"]' redis ● Check status via logs

Slide 4

Slide 4 text

containerd / runC Integration - Docker Engine now ships as 4 binaries - docker - docker-containerd - docker-containerd-shim - docker-runc - Separation of concerns: container runtime neatly isolated from the engine - Facilitate use of other container runtimes...

Slide 5

Slide 5 text

containerd / runC Integration

Slide 6

Slide 6 text

Docker for Mac/Windows Goal: Provide native Docker experience on Mac and Windows ● No more VirtualBox ● Easy file syncing ● VPN / Proxy support ● Single integrated Docker experience that is easy to install

Slide 7

Slide 7 text

DNS “round robin” Load Balancer $ docker network create TEST $ docker run -d --name web1 --net TEST --net-alias web nginx … $ docker run -d --name web2 --net TEST --net-alias web nginx … $ docker run -it --net TEST alpine sh / # ping web PING ping (172.19.0.2): 56 data bytes 64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.128 ms 64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.108 ms ^C / # ping web PING ping (172.19.0.3): 56 data bytes 64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.117 ms 64 bytes from 172.19.0.3: seq=1 ttl=64 time=0.109 ms ^C / # nslookup web Name: web Address 1: 172.19.0.2 web1.TEST Address 2: 172.19.0.3 web2.TEST

Slide 8

Slide 8 text

● Read environment variables from .env file ○ Default config ○ Secrets ○ DOCKER_HOST, etc ● docker-compose up is parallel where possible ○ Dependency order is still respected ● docker-compose logs is aware of new containers ○ Also supports all docker logs flags (-f, -t, etc) Compose Improvements