SlideShare a Scribd company logo
Docker
Docker
Contents
• Introduction to Docker, Containers
• Why people care: Separation of Concerns
• Technical Discussion
• Ecosystem
• Use Cases
• Docker Futures
What is Docker?
• Docker is an open platform for developing, shipping, and running
applications
• Docker provides a way to run almost any application securely isolated
in a container. The isolation and security allow you to run many
containers simultaneously on your host
Docker
Docker
Docker
Docker
Docker
Docker
Docker
Docker
Docker
Docker
Static website
Web frontend
User DB
Queue Analytics DB
Background workers
API endpoint
nginx 1.5 + modsecurity + openssl + bootstrap 2
postgresql + pgv8 + v8
hadoop + hive + thrift + OpenJDK
Ruby + Rails + sass + Unicorn
Redis + redis-sentinel
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs +
phantomjs
Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
Development VM
QA server
Public Cloud
Disaster recovery
Contributor’s laptop
Production Servers
MultiplicityofStacks
Multiplicityof
hardware
environments
Production Cluster
Customer Data Center
Doservicesandapps
interact
appropriately?
CanImigrate
smoothlyand
quickly?
Static website Web frontendUser DB Queue Analytics DB
Development
VM
QA server Public Cloud Contributor’s
laptop
MultiplicityofStacks
Multiplicityof
hardware
environments
Production
Cluster
Customer Data
Center
Doservicesandapps
interact
appropriately?
CanImigrate
smoothlyandquickly
…that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Single Prod
Server
Onsite
Cluster
Public Cloud
Contributor’s
laptop
Customer
Servers
Docker Benifits
• Scalable
• Portable
• Density
• Deployment
Why Docker?
• Faster delivery of your applications
• Deploying and scaling more easily
• Achieving higher density and running more workloads
• Docker seperates application from infrastructure using Container
Technology , similar how virtual machines separate the os from bare
metal
• Dockerized apps can run anywhere on anything
• Build app in any language using any stack
Why Docker?
Why Developers Cares?
• Configure once…run anything
• Make the entire lifecycle more efficient, consistent, and repeatable
• Increase the quality of code produced by developers.
• Eliminate inconsistencies between development, test, production, and customer
environments
• Support segregation of duties
• Significantly improves the speed and reliability of continuous deployment and
continuous integration systems
• Because the containers are so lightweight, address significant performance, costs,
deployment, and portability issues normally associated with VMs
Why it works—separation of concerns
• Dan the Developer
• Worries about what’s “inside” the
container
• His code
• His Libraries
• His Package Manager
• His Apps
• His Data
• All Linux servers look the same
• Oscar the Ops Guy
• Worries about what’s “outside” the
container
• Logging
• Remote access
• Monitoring
• Network config
• All containers start, stop, copy, attach,
migrate, etc. the same way
• High Level—It’s a lightweight VM
• Own process space
• Own network interface
• Can run stuff as root
• Can have its own /sbin/init (different
from host)
• <<machine container>>
• Low Level—It’s chroot on steroids
• Can also not have its own /sbin/init
• Container=isolated processes
• Share kernel with host
• No device emulation (neither HVM
nor PV) from host)
• <<application container>>
• Run everywhere
• Regardless of kernel version
(2.6.32+)
• Regardless of host distro
• Physical or virtual, cloud or not
• Container and host architecture must
match*
• Run anything
• If it can run on the host, it can run in
the container
• i.e. if it can run on a Linux kernel, it
can run
WHY WHAT
More technical explanation
Docker
Docker v/s VM Containers are isolated,
but share OS and, where
appropriate, bins/libraries
…result is significantly faster deployment,
much less overhead, easier migration,
faster restart
Bins/
Libs
App
A
Original App
(No OS to take
up space, resources,
or require restart)
AppΔ
Bins/
App
A
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
Modified App
Copy on write
capabilities allow
us to only save the diffs
Between container A
and container
A’
VMs
Every app, every copy of an
app, and every slight modification
of the app requires a new virtual server
App
A
Guest
OS
Bins/
Libs
Copy of
App
No OS. Can
Share bins/libs
App
A
Guest
OS
Guest
OS
VMs Containers
Why are Docker containers lightweight?
Docker v/s VM
Docker Architecture
Source
Code
Repository
Dockerfile
For
A
Docker Engine
Docker
Container
Image
Registry
Build
Docker
Host 2 OS (Linux)
ContainerA
ContainerB
ContainerC
ContainerA
Push
Search
Pull
Run
Host 1 OS (Linux)
Docker Architecture
Changes and Updates
Docker Engine Docker Engine
Push
Update
Bins/
Libs
App
A
AppΔ
Bins/
Base
Container
Image
Host is now running A’’
Container
Mod A’’
AppΔ
Bins/
Bins/
Libs
App
A
Bins/
Bins/
Libs
App
A’’
Host running A wants to upgrade to A’’.
Requests update. Gets only diffs
Container
Mod A’
Docker
Container
Image
Registry
• Docker daemon
The Docker daemon runs on a host machine. The user does not
directly interact with the daemon, but instead through the Docker
client.
• Docker client
The Docker client, in the form of the docker binary, is the primary user
interface to Docker. It accepts commands from the user and communicates back
and forth with a Docker daemon.
Inside Docker
• Docker Images
• Docker registries
• Docker containers
Docker images
• libvirt: Platform Virtualization
• LXC (LinuX Containers): Multiple
isolated Linux systems (containers) on
a single host
• Layered File System
Docker registries
Docker Container
Docker
Docker
Docker
• [1] Charles Anderson : Docker [Software engineering] , Year: 2015, Volume: 32, Issue: 3 Pages: 102 - c3, DOI:
10.1109/MS.2015.62 , IEEE
• [2] J. Petazzoni : Linux Containers (LXC), Docker, and Security , 31 Jan. 2014; www.slideshare.net/jpetazzo/ linux-
containers-lxc-docker-and security.
• [3] D. Bernstein : Containers and Cloud: From LXC to Docker to Kubernetes,IEEE Cloud Computing, vol. 1, no. 3, 2014,
pp. 81–84.
• [4] N. Kratzke : A Lightweight Virtualization Cluster Reference Architecture Derived from Open Source PaaS
Platforms,Open J. Mobile Computing and Cloud Computing, vol. 1, no. 2, 2014, pp. 17–30.
• [5] J. Turnbull: The Docker Book, 2014,www .dockerbook.com.
• [6] S. Soltesz et al : Container-Based Operating System Virtualization: A Scalable, High-Performance Alternative to
Hypervisors,ACM SIGOPS Operating Systems Rev., vol. 41, no. 3, 2007, pp. 275–287
• [7] B. Butler : Containers: Buzzword du Jour,or Game-Changing Technology?,NetworkWorld, 3 Sept. 2014;
www.networkworld.com/article/ 2601925/cloud-computing/container -party-vmware-microsoft-ciscoand -red-hat-
all-get-in-on-app-hoopla .html.
Docker

More Related Content

PPTX
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
PPTX
Docker-Intro
PPTX
Building microservices with docker
PDF
Docker and containers : Disrupting the virtual machine(VM)
PDF
Introduction to container based virtualization with docker
PDF
Docker Containers Deep Dive
PPTX
Docker introduction
PPTX
Virtualization, Containers, Docker and scalable container management services
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Docker-Intro
Building microservices with docker
Docker and containers : Disrupting the virtual machine(VM)
Introduction to container based virtualization with docker
Docker Containers Deep Dive
Docker introduction
Virtualization, Containers, Docker and scalable container management services

What's hot (20)

PDF
Introduction to Containers - SQL Server and Docker
PPTX
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
PDF
Docker basics
PPTX
A new model for Docker image distribution
PPTX
Intro to Docker at the 2016 Evans Developer relations conference
PPTX
Containers #101 Meetup: Containers & OpenStack
PPTX
Docker introduction &amp; benefits
PPTX
Docker 101 : Introduction to Docker and Containers
PPTX
Docker - Portable Deployment
PDF
Introduction to Docker - VIT Campus
PPTX
Containers #101 Meetup: Containers and OpenStack
PPTX
Containers vs. VMs: It's All About the Apps!
PDF
Docker Registry V2
PPTX
Docker 101 - Nov 2016
PPTX
Docker introduction (1)
PPTX
Docker 101 - High level introduction to docker
PPT
Docker introduction
PPTX
Introduction to Docker
PDF
Docker Container Introduction
PPTX
Docker introduction for the beginners
Introduction to Containers - SQL Server and Docker
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker basics
A new model for Docker image distribution
Intro to Docker at the 2016 Evans Developer relations conference
Containers #101 Meetup: Containers & OpenStack
Docker introduction &amp; benefits
Docker 101 : Introduction to Docker and Containers
Docker - Portable Deployment
Introduction to Docker - VIT Campus
Containers #101 Meetup: Containers and OpenStack
Containers vs. VMs: It's All About the Apps!
Docker Registry V2
Docker 101 - Nov 2016
Docker introduction (1)
Docker 101 - High level introduction to docker
Docker introduction
Introduction to Docker
Docker Container Introduction
Docker introduction for the beginners
Ad

Similar to Docker (20)

PPTX
Intro Docker october 2013
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
PPTX
Intro to Docker October 2013
PPTX
Docker introduction
PPTX
Intro to Docker November 2013
PPTX
Docker intro
PDF
Introduction to Docker - IndiaOpsUG
PPTX
OpenStack Summit
PDF
Introduction to Docker
PPTX
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
PDF
Docker Introduction
PDF
Introduction to Docker Containers - Docker Captain
PPTX
Docker intro
PDF
Docker Basics
PPTX
The challenge of application distribution - Introduction to Docker (2014 dec ...
PPTX
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
PDF
Docker handons-workshop-for-charity
PPTX
Docker Introduction
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PPTX
Cont0519
Intro Docker october 2013
ma-formation-en-Docker-jlklk,nknkjn.pptx
Intro to Docker October 2013
Docker introduction
Intro to Docker November 2013
Docker intro
Introduction to Docker - IndiaOpsUG
OpenStack Summit
Introduction to Docker
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker Introduction
Introduction to Docker Containers - Docker Captain
Docker intro
Docker Basics
The challenge of application distribution - Introduction to Docker (2014 dec ...
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Docker handons-workshop-for-charity
Docker Introduction
Docker 0.11 at MaxCDN meetup in Los Angeles
Cont0519
Ad

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
AI in Product Development-omnex systems
PDF
System and Network Administraation Chapter 3
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPT
JAVA ppt tutorial basics to learn java programming
PDF
medical staffing services at VALiNTRY
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
L1 - Introduction to python Backend.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
AI in Product Development-omnex systems
System and Network Administraation Chapter 3
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
JAVA ppt tutorial basics to learn java programming
medical staffing services at VALiNTRY
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Softaken Excel to vCard Converter Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
How to Migrate SBCGlobal Email to Yahoo Easily
L1 - Introduction to python Backend.pptx

Docker

  • 3. Contents • Introduction to Docker, Containers • Why people care: Separation of Concerns • Technical Discussion • Ecosystem • Use Cases • Docker Futures
  • 4. What is Docker? • Docker is an open platform for developing, shipping, and running applications • Docker provides a way to run almost any application securely isolated in a container. The isolation and security allow you to run many containers simultaneously on your host
  • 15. Static website Web frontend User DB Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers MultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyand quickly?
  • 16. Static website Web frontendUser DB Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop MultiplicityofStacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesandapps interact appropriately? CanImigrate smoothlyandquickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
  • 17. Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers
  • 18. Docker Benifits • Scalable • Portable • Density • Deployment
  • 19. Why Docker? • Faster delivery of your applications • Deploying and scaling more easily • Achieving higher density and running more workloads
  • 20. • Docker seperates application from infrastructure using Container Technology , similar how virtual machines separate the os from bare metal • Dockerized apps can run anywhere on anything • Build app in any language using any stack Why Docker?
  • 21. Why Developers Cares? • Configure once…run anything • Make the entire lifecycle more efficient, consistent, and repeatable • Increase the quality of code produced by developers. • Eliminate inconsistencies between development, test, production, and customer environments • Support segregation of duties • Significantly improves the speed and reliability of continuous deployment and continuous integration systems • Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
  • 22. Why it works—separation of concerns • Dan the Developer • Worries about what’s “inside” the container • His code • His Libraries • His Package Manager • His Apps • His Data • All Linux servers look the same • Oscar the Ops Guy • Worries about what’s “outside” the container • Logging • Remote access • Monitoring • Network config • All containers start, stop, copy, attach, migrate, etc. the same way
  • 23. • High Level—It’s a lightweight VM • Own process space • Own network interface • Can run stuff as root • Can have its own /sbin/init (different from host) • <<machine container>> • Low Level—It’s chroot on steroids • Can also not have its own /sbin/init • Container=isolated processes • Share kernel with host • No device emulation (neither HVM nor PV) from host) • <<application container>> • Run everywhere • Regardless of kernel version (2.6.32+) • Regardless of host distro • Physical or virtual, cloud or not • Container and host architecture must match* • Run anything • If it can run on the host, it can run in the container • i.e. if it can run on a Linux kernel, it can run WHY WHAT More technical explanation
  • 25. Docker v/s VM Containers are isolated, but share OS and, where appropriate, bins/libraries …result is significantly faster deployment, much less overhead, easier migration, faster restart
  • 26. Bins/ Libs App A Original App (No OS to take up space, resources, or require restart) AppΔ Bins/ App A Bins/ Libs App A’ Guest OS Bins/ Libs Modified App Copy on write capabilities allow us to only save the diffs Between container A and container A’ VMs Every app, every copy of an app, and every slight modification of the app requires a new virtual server App A Guest OS Bins/ Libs Copy of App No OS. Can Share bins/libs App A Guest OS Guest OS VMs Containers Why are Docker containers lightweight?
  • 29. Source Code Repository Dockerfile For A Docker Engine Docker Container Image Registry Build Docker Host 2 OS (Linux) ContainerA ContainerB ContainerC ContainerA Push Search Pull Run Host 1 OS (Linux) Docker Architecture
  • 30. Changes and Updates Docker Engine Docker Engine Push Update Bins/ Libs App A AppΔ Bins/ Base Container Image Host is now running A’’ Container Mod A’’ AppΔ Bins/ Bins/ Libs App A Bins/ Bins/ Libs App A’’ Host running A wants to upgrade to A’’. Requests update. Gets only diffs Container Mod A’ Docker Container Image Registry
  • 31. • Docker daemon The Docker daemon runs on a host machine. The user does not directly interact with the daemon, but instead through the Docker client. • Docker client The Docker client, in the form of the docker binary, is the primary user interface to Docker. It accepts commands from the user and communicates back and forth with a Docker daemon.
  • 32. Inside Docker • Docker Images • Docker registries • Docker containers
  • 33. Docker images • libvirt: Platform Virtualization • LXC (LinuX Containers): Multiple isolated Linux systems (containers) on a single host • Layered File System
  • 39. • [1] Charles Anderson : Docker [Software engineering] , Year: 2015, Volume: 32, Issue: 3 Pages: 102 - c3, DOI: 10.1109/MS.2015.62 , IEEE • [2] J. Petazzoni : Linux Containers (LXC), Docker, and Security , 31 Jan. 2014; www.slideshare.net/jpetazzo/ linux- containers-lxc-docker-and security. • [3] D. Bernstein : Containers and Cloud: From LXC to Docker to Kubernetes,IEEE Cloud Computing, vol. 1, no. 3, 2014, pp. 81–84. • [4] N. Kratzke : A Lightweight Virtualization Cluster Reference Architecture Derived from Open Source PaaS Platforms,Open J. Mobile Computing and Cloud Computing, vol. 1, no. 2, 2014, pp. 17–30. • [5] J. Turnbull: The Docker Book, 2014,www .dockerbook.com. • [6] S. Soltesz et al : Container-Based Operating System Virtualization: A Scalable, High-Performance Alternative to Hypervisors,ACM SIGOPS Operating Systems Rev., vol. 41, no. 3, 2007, pp. 275–287 • [7] B. Butler : Containers: Buzzword du Jour,or Game-Changing Technology?,NetworkWorld, 3 Sept. 2014; www.networkworld.com/article/ 2601925/cloud-computing/container -party-vmware-microsoft-ciscoand -red-hat- all-get-in-on-app-hoopla .html.