What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16

Docker, Inc.
Docker, Inc.Docker, Inc.
What’s New in Docker 1.12
Docker Meetup
August 3, 2016
Nishant Totla
@nishanttotla
nishant@docker.com
Overview of new features
• Orchestration
• Swarm mode
• Docker services
• Secure by default
• Networking
• Live Restore
• Container Healthchecks
• Plugin Improvements
Swarm Mode
• Your Docker Engine is now cluster-aware
• The best way to orchestrate Docker is Docker
• Really easy to set up your cluster and manage deployments
Swarm Mode
$ docker swarm init
Engine
Swarm mode
$ docker swarm init
$ docker swarm join <manager IP>:2377
Engine Engine
Swarm mode
$ docker swarm init
$ docker swarm join <manager IP>:2377
Engine Engine
Engine
Engine
Engine
Services
$ docker service create 
--replicas 3 
--name frontend 
--network mynet 
--publish 80:80/tcp 
frontend_image:latest
Engine Engine
Engine
Engine
Engine
mynet
Services
$ docker service create 
--name redis 
--network mynet 
redis:latest
Engine Engine
Engine
Engine
Engine
mynet
Node Failure
$ docker service create 
--name redis 
--network mynet 
redis:latest
Engine Engine
Engine
Engine
Engine
mynet
Desired State ≠ Actual State
Engine
Engine
Engine
Engine
mynet
$ docker service create 
--replicas 3 
--name frontend 
--network mynet 
--publish 80:80/tcp 
frontend_image:latest
Converge back to Desired State
Engine
Engine
Engine
Engine
mynet
$ docker service create 
--replicas 3 
--name frontend 
--network mynet 
--publish 80:80/tcp 
frontend_image:latest
Service Scaling
Engine
Engine
Engine
Engine
mynet
$ docker service scale frontend=6
Global Services
$ docker service create 
--mode=global 
--name=prometheus 
prom/prometheus
Engine Engine
Engine
Engine
Engine
Constraints
Engine Engine
Engine
Engine
Engine $ docker daemon --label
com.example.storage=“ssd”
$ docker daemon --label
com.example.storage=“ssd”
Constraints
$ docker service create 
--replicas 5 
--name frontend 
--network mynet 
--publish 80:80/tcp 
--constraint engine.labels.com.example.storage==ssd
frontend_image:latest
Engine Engine
Engine
Engine
Engine
mynet
$ docker daemon --label
com.example.storage=“ssd”
$ docker daemon --label
com.example.storage=“ssd”
Constraints
Engine Engine
Engine
Engine
Engine
mynet
$ docker daemon --label
com.example.storage=“ssd”
$ docker daemon --label
com.example.storage=“ssd”
$ docker service scale frontend=10
Rolling Updates
$ docker service create 
--replicas 8 
--name frontend 
--network mynet 
--publish 80:80/tcp 
frontend_image:v1.0
Engine Engine
Engine
Engine
Engine
mynet
Rolling Updates
$ docker service update 
--image frontend_image:v2.0 
--update-delay 10s 
--update-parallelism 2 
frontend
Engine Engine
Engine
Engine
Engine
mynet
Rolling Updates
$ docker service update 
--image frontend_image:v2.0 
--update-delay 10s 
--update-parallelism 2 
frontend
Engine Engine
Engine
Engine
Engine
mynet
Rolling Updates
$ docker service update 
--image frontend_image:v2.0 
--update-delay 10s 
--update-parallelism 2 
frontend
Engine Engine
Engine
Engine
Engine
mynet
Rolling Updates
$ docker service update 
--image frontend_image:v2.0 
--update-delay 10s 
--update-parallelism 2 
frontend
Engine Engine
Engine
Engine
Engine
mynet
Rolling Updates
$ docker service update 
--image frontend_image:v2.0 
--update-delay 10s 
--update-parallelism 2 
frontend
Engine Engine
Engine
Engine
Engine
mynet
Overview of new features
• Orchestration
• Swarm mode
• Docker services
• Secure by default
• Networking
• Live Restore
• Container Healthchecks
• Plugin Improvements
Secure by Default with end to end Encryption
• Cryptographic node
identity
• Automatic encryption
and mutual auth (TLS)
• Automatic certificate
rotation
• External CA integration
Manager
[TLS]
[CA]
Manager
[TLS]
[CA]
Manager
[TLS]
[CA]
Agent
[TLS]
Agent
[TLS]
Agent
[TLS]
Overview of new features
• Orchestration
• Swarm mode
• Docker services
• Secure by default
• Networking
• Live Restore
• Container Healthchecks
• Plugin Improvements
Routing Mesh
• Operator reserves a
swarm-wide ingress
port (8080) for
myapp
• Every node listens
on 8080
Manager
Agent 1 Agent 2 Agent 3
$ docker service create 
--replicas 3 
--name frontend 
--network mynet 
--publish 8080:80/tcp 
frontend_image:latest
:8080 :8080 :8080
:8080
access
myapp.com:8080
Routing Mesh
• Container-aware
routing mesh can
transparently
reroute traffic to a
node that is
running the
container
• Built-in (layer 4)
load balancing
• DNS-based service
discovery
Manager
Agent 1 Agent 2 Agent 3
$ docker service create 
--replicas 3 
--name frontend 
--network mynet 
--publish 8080:80/tcp 
frontend_image:latest
:8080 :8080 :8080
:8080
access
myapp.com:8080
Swarm Mode is Optional
• Docker 1.12 is fully backwards compatible
• You can continue to use your old deployments without Swarm Mode
• Swarm Mode is now the easiest way to try orchestration with Docker
Overview of new features
• Orchestration
• Swarm mode
• Docker services
• Secure by default
• Networking
• Live Restore
• Container Healthchecks
• Plugin Improvements
Live Restore
{
“live-restore”: true
}
• By default, terminating Docker daemon shuts down running containers
• Starting with 1.12, it is possible to configure the daemon so that containers
remain running when daemon becomes unavailable
• Useful for upgrades, planned outages, crashes
• Either update the default configuration file
• Or pass a flag when starting the daemon
$ sudo dockerd --live-restore
Container Healthchecks in Dockerfile
• Checks every 5 minutes that web server can return index page within 3
seconds
• Three consecutive failures puts container in an unhealthy state
• Works with services in Swarm Mode
HEALTHCHECK --interval=5m --timeout=3s
--retries=3
CMD curl –f http://localhost/ || exit 1
New Plugin Subcommands (Experimental)
$ docker plugin install tiborvass/no-remove
$ docker plugin enable no-remove
$ docker plugin disable no-remove
Plugin Permissions Model
$ docker plugin install tiborvass/no-remove
Plugin “tiborvass/no-remove:latest” requested the following
privileges:
- Networking: host
- Mounting host path: /data
Do you grant the above permissions? [y/N]
Demo!
Thank You! Questions?
Nishant Totla
@nishanttotla
nishant@docker.com
Docker for AWS/Azure
Sign up for the beta at beta.docker.com
Swarm Topology
Overview of new features
• Strongly consistent – holds desired state
• Simple to operate
• Fast (in-memory reads, domain specific indexing, …)
• Secure
Overview of new features
• Eventually consistent – routing mesh, load balancing rules, …
• High volume, p2p network between workers
• Secure: symmetric encryption with key rotation in Raft
1 of 39

Recommended

Docker - The Linux Container by
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux ContainerBalaji Rajan
13.5K views21 slides
Monitoring Dell Infrastructure using Docker & Microservices by
Monitoring Dell Infrastructure using Docker & MicroservicesMonitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesAjeet Singh Raina
2.8K views14 slides
Docker Security Overview by
Docker Security OverviewDocker Security Overview
Docker Security OverviewSreenivas Makam
13K views18 slides
Docker by Example - Basics by
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics Ganesh Samarthyam
20.1K views160 slides
Introduction to Docker - IndiaOpsUG by
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
724 views42 slides
Docker and stuff by
Docker and stuffDocker and stuff
Docker and stuffVarun Sharma
112 views16 slides

More Related Content

What's hot

Architecting .NET Applications for Docker and Container Based Deployments by
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
14.4K views101 slides
Docker introduction by
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
1.3K views62 slides
Docker From Scratch by
Docker From ScratchDocker From Scratch
Docker From ScratchGiacomo Vacca
15.4K views44 slides
Docker for developers by
Docker for developersDocker for developers
Docker for developersandrzejsydor
334 views44 slides
Introduction to docker by
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
657 views43 slides
Docker by
DockerDocker
DockerSangtongPeesing
364 views45 slides

What's hot(20)

Architecting .NET Applications for Docker and Container Based Deployments by Ben Hall
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Ben Hall14.4K views
Docker introduction by Phuc Nguyen
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen1.3K views
Docker From Scratch by Giacomo Vacca
Docker From ScratchDocker From Scratch
Docker From Scratch
Giacomo Vacca15.4K views
Docker for developers by andrzejsydor
Docker for developersDocker for developers
Docker for developers
andrzejsydor334 views
Introduction to docker by Instruqt
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt657 views
virtualization-vs-containerization-paas by rajdeep
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
rajdeep7.5K views
Orchestrating Docker containers at scale by Maciej Lasyk
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
Maciej Lasyk22.8K views
Docker Introduction by Robert Reiz
Docker IntroductionDocker Introduction
Docker Introduction
Robert Reiz28.4K views
Docker for Java Developers by NGINX, Inc.
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
NGINX, Inc.6.1K views
Docker introduction for the beginners by Juneyoung Oh
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
Juneyoung Oh6.3K views
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12 by dotCloud
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud4.9K views
Comprehensive Monitoring for Docker by Christian Beedgen
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
Christian Beedgen10.7K views
Introduction to Containers - SQL Server and Docker by Chris Taylor
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor473 views
Introduction to Docker by Luong Vo
Introduction to DockerIntroduction to Docker
Introduction to Docker
Luong Vo417 views
Docker, the Future of DevOps by andersjanmyr
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
andersjanmyr9.6K views
Docker and the Linux Kernel by Docker, Inc.
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
Docker, Inc.16.7K views

Similar to What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16

Nats meetup oct 2016 docker 112 by
Nats meetup oct 2016 docker 112Nats meetup oct 2016 docker 112
Nats meetup oct 2016 docker 112Nirmal Mehta
558 views39 slides
What's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi by
What's New in Docker 1.12 by Mike Goelzer and Andrea LuzzardiWhat's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi
What's New in Docker 1.12 by Mike Goelzer and Andrea LuzzardiDocker, Inc.
7K views40 slides
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi by
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiMike Goelzer
20.5K views40 slides
Docker HK Meetup - 201707 by
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707Clarence Ho
995 views109 slides
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017 by
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017Amazon Web Services Korea
8.2K views52 slides
Deep Dive into Docker Swarm Mode by
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeAjeet Singh Raina
5.9K views53 slides

Similar to What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 (20)

Nats meetup oct 2016 docker 112 by Nirmal Mehta
Nats meetup oct 2016 docker 112Nats meetup oct 2016 docker 112
Nats meetup oct 2016 docker 112
Nirmal Mehta558 views
What's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi by Docker, Inc.
What's New in Docker 1.12 by Mike Goelzer and Andrea LuzzardiWhat's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi
What's New in Docker 1.12 by Mike Goelzer and Andrea Luzzardi
Docker, Inc.7K views
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi by Mike Goelzer
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
Mike Goelzer20.5K views
Docker HK Meetup - 201707 by Clarence Ho
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
Clarence Ho995 views
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017 by Amazon Web Services Korea
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
New Docker Features for Orchestration and Containers by Jeff Anderson
New Docker Features for Orchestration and ContainersNew Docker Features for Orchestration and Containers
New Docker Features for Orchestration and Containers
Jeff Anderson684 views
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016] by Brice Argenson
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
Docker 1.12 & Swarm Mode [Montreal Docker Meetup Sept. 2016]
Brice Argenson358 views
廣宣學堂: 容器進階實務 - Docker進深研究班 by Paul Chao
廣宣學堂: 容器進階實務 - Docker進深研究班廣宣學堂: 容器進階實務 - Docker進深研究班
廣宣學堂: 容器進階實務 - Docker進深研究班
Paul Chao453 views
"Deploying Multi-OS Applications with Docker Swarm" with Docker's David Yu by Steven Puroll
"Deploying Multi-OS Applications with Docker Swarm" with Docker's David Yu"Deploying Multi-OS Applications with Docker Swarm" with Docker's David Yu
"Deploying Multi-OS Applications with Docker Swarm" with Docker's David Yu
Steven Puroll396 views
Docker 進階實務班 by Philip Zheng
Docker 進階實務班Docker 進階實務班
Docker 進階實務班
Philip Zheng1.1K views
Docker Networking - Common Issues and Troubleshooting Techniques by Sreenivas Makam
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
Sreenivas Makam42.6K views
Docker advance topic by Kalkey
Docker advance topicDocker advance topic
Docker advance topic
Kalkey104 views
Introction to docker swarm by Hsi-Kai Wang
Introction to docker swarmIntroction to docker swarm
Introction to docker swarm
Hsi-Kai Wang1.9K views
What’s new in Swarm 1.1 by k z
What’s new in Swarm 1.1What’s new in Swarm 1.1
What’s new in Swarm 1.1
k z403 views
JDO 2019: Container orchestration with Docker Swarm - Jakub Hajek by PROIDEA
JDO 2019: Container orchestration with Docker Swarm - Jakub HajekJDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
JDO 2019: Container orchestration with Docker Swarm - Jakub Hajek
PROIDEA47 views

More from Docker, Inc.

Containerize Your Game Server for the Best Multiplayer Experience by
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Docker, Inc.
5.4K views20 slides
How to Improve Your Image Builds Using Advance Docker Build by
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildDocker, Inc.
1.2K views29 slides
Build & Deploy Multi-Container Applications to AWS by
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSDocker, Inc.
800 views13 slides
Securing Your Containerized Applications with NGINX by
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXDocker, Inc.
673 views79 slides
How To Build and Run Node Apps with Docker and Compose by
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeDocker, Inc.
707 views55 slides
Hands-on Helm by
Hands-on Helm Hands-on Helm
Hands-on Helm Docker, Inc.
592 views26 slides

More from Docker, Inc.(20)

Containerize Your Game Server for the Best Multiplayer Experience by Docker, Inc.
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.5.4K views
How to Improve Your Image Builds Using Advance Docker Build by Docker, Inc.
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.1.2K views
Build & Deploy Multi-Container Applications to AWS by Docker, Inc.
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.800 views
Securing Your Containerized Applications with NGINX by Docker, Inc.
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
Docker, Inc.673 views
How To Build and Run Node Apps with Docker and Compose by Docker, Inc.
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.707 views
Distributed Deep Learning with Docker at Salesforce by Docker, Inc.
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.466 views
The First 10M Pulls: Building The Official Curl Image for Docker Hub by Docker, Inc.
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.611 views
Monitoring in a Microservices World by Docker, Inc.
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
Docker, Inc.405 views
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti... by Docker, Inc.
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.315 views
Predicting Space Weather with Docker by Docker, Inc.
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
Docker, Inc.238 views
Become a Docker Power User With Microsoft Visual Studio Code by Docker, Inc.
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.353 views
How to Use Mirroring and Caching to Optimize your Container Registry by Docker, Inc.
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.363 views
Monolithic to Microservices + Docker = SDLC on Steroids! by Docker, Inc.
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.325 views
Kubernetes at Datadog Scale by Docker, Inc.
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
Docker, Inc.327 views
Labels, Labels, Labels by Docker, Inc.
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
Docker, Inc.223 views
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model by Docker, Inc.
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.206 views
Build & Deploy Multi-Container Applications to AWS by Docker, Inc.
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.430 views
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S... by Docker, Inc.
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.351 views
Developing with Docker for the Arm Architecture by Docker, Inc.
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
Docker, Inc.2.2K views

Recently uploaded

Piloting & Scaling Successfully With Microsoft Viva by
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
13 views49 slides
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
12 views16 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
55 views21 slides
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides

Recently uploaded(20)

Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta19 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views

What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16

  • 1. What’s New in Docker 1.12 Docker Meetup August 3, 2016 Nishant Totla @nishanttotla nishant@docker.com
  • 2. Overview of new features • Orchestration • Swarm mode • Docker services • Secure by default • Networking • Live Restore • Container Healthchecks • Plugin Improvements
  • 3. Swarm Mode • Your Docker Engine is now cluster-aware • The best way to orchestrate Docker is Docker • Really easy to set up your cluster and manage deployments
  • 4. Swarm Mode $ docker swarm init Engine
  • 5. Swarm mode $ docker swarm init $ docker swarm join <manager IP>:2377 Engine Engine
  • 6. Swarm mode $ docker swarm init $ docker swarm join <manager IP>:2377 Engine Engine Engine Engine Engine
  • 7. Services $ docker service create --replicas 3 --name frontend --network mynet --publish 80:80/tcp frontend_image:latest Engine Engine Engine Engine Engine mynet
  • 8. Services $ docker service create --name redis --network mynet redis:latest Engine Engine Engine Engine Engine mynet
  • 9. Node Failure $ docker service create --name redis --network mynet redis:latest Engine Engine Engine Engine Engine mynet
  • 10. Desired State ≠ Actual State Engine Engine Engine Engine mynet $ docker service create --replicas 3 --name frontend --network mynet --publish 80:80/tcp frontend_image:latest
  • 11. Converge back to Desired State Engine Engine Engine Engine mynet $ docker service create --replicas 3 --name frontend --network mynet --publish 80:80/tcp frontend_image:latest
  • 13. Global Services $ docker service create --mode=global --name=prometheus prom/prometheus Engine Engine Engine Engine Engine
  • 14. Constraints Engine Engine Engine Engine Engine $ docker daemon --label com.example.storage=“ssd” $ docker daemon --label com.example.storage=“ssd”
  • 15. Constraints $ docker service create --replicas 5 --name frontend --network mynet --publish 80:80/tcp --constraint engine.labels.com.example.storage==ssd frontend_image:latest Engine Engine Engine Engine Engine mynet $ docker daemon --label com.example.storage=“ssd” $ docker daemon --label com.example.storage=“ssd”
  • 16. Constraints Engine Engine Engine Engine Engine mynet $ docker daemon --label com.example.storage=“ssd” $ docker daemon --label com.example.storage=“ssd” $ docker service scale frontend=10
  • 17. Rolling Updates $ docker service create --replicas 8 --name frontend --network mynet --publish 80:80/tcp frontend_image:v1.0 Engine Engine Engine Engine Engine mynet
  • 18. Rolling Updates $ docker service update --image frontend_image:v2.0 --update-delay 10s --update-parallelism 2 frontend Engine Engine Engine Engine Engine mynet
  • 19. Rolling Updates $ docker service update --image frontend_image:v2.0 --update-delay 10s --update-parallelism 2 frontend Engine Engine Engine Engine Engine mynet
  • 20. Rolling Updates $ docker service update --image frontend_image:v2.0 --update-delay 10s --update-parallelism 2 frontend Engine Engine Engine Engine Engine mynet
  • 21. Rolling Updates $ docker service update --image frontend_image:v2.0 --update-delay 10s --update-parallelism 2 frontend Engine Engine Engine Engine Engine mynet
  • 22. Rolling Updates $ docker service update --image frontend_image:v2.0 --update-delay 10s --update-parallelism 2 frontend Engine Engine Engine Engine Engine mynet
  • 23. Overview of new features • Orchestration • Swarm mode • Docker services • Secure by default • Networking • Live Restore • Container Healthchecks • Plugin Improvements
  • 24. Secure by Default with end to end Encryption • Cryptographic node identity • Automatic encryption and mutual auth (TLS) • Automatic certificate rotation • External CA integration Manager [TLS] [CA] Manager [TLS] [CA] Manager [TLS] [CA] Agent [TLS] Agent [TLS] Agent [TLS]
  • 25. Overview of new features • Orchestration • Swarm mode • Docker services • Secure by default • Networking • Live Restore • Container Healthchecks • Plugin Improvements
  • 26. Routing Mesh • Operator reserves a swarm-wide ingress port (8080) for myapp • Every node listens on 8080 Manager Agent 1 Agent 2 Agent 3 $ docker service create --replicas 3 --name frontend --network mynet --publish 8080:80/tcp frontend_image:latest :8080 :8080 :8080 :8080 access myapp.com:8080
  • 27. Routing Mesh • Container-aware routing mesh can transparently reroute traffic to a node that is running the container • Built-in (layer 4) load balancing • DNS-based service discovery Manager Agent 1 Agent 2 Agent 3 $ docker service create --replicas 3 --name frontend --network mynet --publish 8080:80/tcp frontend_image:latest :8080 :8080 :8080 :8080 access myapp.com:8080
  • 28. Swarm Mode is Optional • Docker 1.12 is fully backwards compatible • You can continue to use your old deployments without Swarm Mode • Swarm Mode is now the easiest way to try orchestration with Docker
  • 29. Overview of new features • Orchestration • Swarm mode • Docker services • Secure by default • Networking • Live Restore • Container Healthchecks • Plugin Improvements
  • 30. Live Restore { “live-restore”: true } • By default, terminating Docker daemon shuts down running containers • Starting with 1.12, it is possible to configure the daemon so that containers remain running when daemon becomes unavailable • Useful for upgrades, planned outages, crashes • Either update the default configuration file • Or pass a flag when starting the daemon $ sudo dockerd --live-restore
  • 31. Container Healthchecks in Dockerfile • Checks every 5 minutes that web server can return index page within 3 seconds • Three consecutive failures puts container in an unhealthy state • Works with services in Swarm Mode HEALTHCHECK --interval=5m --timeout=3s --retries=3 CMD curl –f http://localhost/ || exit 1
  • 32. New Plugin Subcommands (Experimental) $ docker plugin install tiborvass/no-remove $ docker plugin enable no-remove $ docker plugin disable no-remove
  • 33. Plugin Permissions Model $ docker plugin install tiborvass/no-remove Plugin “tiborvass/no-remove:latest” requested the following privileges: - Networking: host - Mounting host path: /data Do you grant the above permissions? [y/N]
  • 34. Demo!
  • 35. Thank You! Questions? Nishant Totla @nishanttotla nishant@docker.com
  • 36. Docker for AWS/Azure Sign up for the beta at beta.docker.com
  • 38. Overview of new features • Strongly consistent – holds desired state • Simple to operate • Fast (in-memory reads, domain specific indexing, …) • Secure
  • 39. Overview of new features • Eventually consistent – routing mesh, load balancing rules, … • High volume, p2p network between workers • Secure: symmetric encryption with key rotation in Raft