SlideShare a Scribd company logo
Docker.ppt
• A dotCloud (PAAS provider) project
• Initial commit January 18, 2013
• Docker 0.1.0 released March 25, 2013
• 18,600+ github stars, 3800+ forks,740 Contributors…. and continues
• dotCloud pivots to docker inc. October 29, 2013
DOCKER HISTORY ……
• Open platform for developers and sysadmins to build, ship and run
distributed applications
• Can run on popular 64-bit Linux distributions with kernel 3.8 or later
• Supported by several cloud platforms including Amazon EC2, Google
Compute Engine, and Rackspace.
What is Docker ?!!!
• Light-Weight
o Minimal overhead (cpu/io/network)
o Based on Linux containers
o Uses layered filesystem to save space (AUFS/LVM)
o Uses a copy-on-write filesystem to track changes
• Portable
o Can run on any Linux system that supports LXC (today).
o 0.7 release includes support for RedHat/Fedora family.
o Raspberry pi support.
o Future plans to support other container tools (lmctfy, etc.)
o Possible future support for other operating systems (Solaris, OSX, Windows?)
• Self-sufficient
o A Docker container contains everything it needs to run
o Minimal Base OS
o Libraries and frameworks
o Application code
o A docker container should be able to run anywhere that Docker can run.
Features….
The Challenge……
The Matrix From Hell……
Cargo Transport Pre-1960……
Also a Matrix from Hell……
Solution: Intermodal Shipping Container……
Docker is a Container System for Code……
Docker Eliminates the Matrix from Hell……
Why it Works: Separation of Concerns……
• Docker Engine
– CLI
– Docker Daemon
– Docker Registry
• Docker Hub
– Cloud service
• Share Applications
• Automate workflows
• Assemble apps from components
• Docker images
• Docker containers
Docker Architecture……
• NOT A VHD
• NOT A FILESYSTEM
• uses a Union File System
• a read-only Layer
• do not have state
• Basically a tar file
• Has a hierarchy
• Arbitrary depth
• Fits into the Docker Registry
Docker images……
Units of software delivery (ship it!)
● run everywhere
– regardless of kernel version
– regardless of host distro
– (but 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
*Unless you emulate CPU with qemu and binfmt
Docker Containers...
Containers before Docker……
Containers after Docker ……
How does Docker work ?
• You can build Docker images that hold your applications
• You can create Docker containers from those Docker images to run your
applications.
• You can share those Docker images via Docker Hub or your own registry
Virtual Machine Versus Container……
Virtual Machine Versus Container……
• The Life of a Container
– Conception
• BUILD an Image from a Dockerfile
– Birth
• RUN (create+start) a container
– Reproduction
• COMMIT (persist) a container to a new image
• RUN a new container from an image
– Sleep
• KILL a running container
– Wake
• START a stopped container
– Death
• RM (delete) a stopped container
• Extinction
– RMI a container image (delete image)
Docker Container Lifecycle ……
• Kernel Feature
• Groups of processes
• Control resource allocations
– CPU
– Memory
– Disk
– I/O
• May be nested
Linux Cgroups ……
• Kernel Feature
• Restrict your view of the system
– Mounts (CLONE_NEWNS)
– UTS (CLONE_NEWUTS)
• uname() output
– IPC (CLONE_NEWIPC)
– PID (CLONE_NEWPID)
– Networks (CLONE_NEWNET)
– User (CLONE_NEWUSER)
• Not supported in Docker yet
• Has privileged/unprivileged modes today
• May be nested
Linux Kernel Namespaces ……
• Like a Makefile (shell script with keywords)
• Extends from a Base Image
• Results in a new Docker Image
• Imperative, not Declarative
• A Docker file lists the steps needed to build an images
• docker build is used to run a Docker file
• Can define default command for docker run, ports to expose, etc
Dockerfile ……
Docker CLI Commands (v1.1.2)……
Want to hack on Docker ?
• Reporting Security Issues
• Design and Cleanup Proposals
• Reporting Issues
• Build Environment
Contributing to Docker ……
• Easy to build, run & share containers
• Rapidly expanding ecosystem
• Better performance vs. VMs
• Layered file system gives us git-like control of images
• Reduces complexity of system builds
• Red Hat - Project Atomic Host, and certifications - containerized
applications, Geard and OpenShift.
• Google is expected to tightly integrate containers with its IaaS and
PaaS offerings.
SUMMARY……

More Related Content

PPT
presentation on Docker
PPT
Docker meetup-jan-2015
PPT
PDF
PPTX
Introduction to automated environment management with Docker Containers - for...
PPT
Docker Devops document for short summary
PPTX
Docker.pptx
PPTX
Tech talk on docker with demo
presentation on Docker
Docker meetup-jan-2015
Introduction to automated environment management with Docker Containers - for...
Docker Devops document for short summary
Docker.pptx
Tech talk on docker with demo

Similar to Docker.ppt (20)

PPTX
Docker Workshop
PPTX
Docker: Introduction to Container Moduls
PPTX
Docker and kubernetes
PPTX
Developer workflow with docker
PPTX
Getting started with Docker
PDF
Container Security
PDF
Docker from A to Z, including Swarm and OCCS
PDF
A Gentle Introduction To Docker And All Things Containers
PDF
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
PDF
Ansible docker
PDF
Evolution of containers to kubernetes
PPTX
Containers and Cloud: From LXC to Docker to Kubernetes
PPTX
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
PPTX
Java developer intro to environment management with vagrant puppet and docker
PPTX
Virtualization, Containers, Docker and scalable container management services
PDF
PPTX
Containerization using docker and its applications
PPTX
Containerization using docker and its applications
PDF
LXC, Docker, and the future of software delivery | LinuxCon 2013
PDF
LXC Docker and the Future of Software Delivery
Docker Workshop
Docker: Introduction to Container Moduls
Docker and kubernetes
Developer workflow with docker
Getting started with Docker
Container Security
Docker from A to Z, including Swarm and OCCS
A Gentle Introduction To Docker And All Things Containers
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Ansible docker
Evolution of containers to kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java developer intro to environment management with vagrant puppet and docker
Virtualization, Containers, Docker and scalable container management services
Containerization using docker and its applications
Containerization using docker and its applications
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC Docker and the Future of Software Delivery
Ad

More from Ajit Mali (9)

PPTX
DOC-20230518.pptx
PPT
lect15_cloud.ppt
PPT
Cloud-computing.ppt
PPTX
Traditional knowledge protection.pptx
PPTX
PPT_CC.pptx
PPT
UNIT III.ppt
DOCX
SFDC.docx
PPT
Lecture No. 21-22.ppt
PDF
file.pdf
DOC-20230518.pptx
lect15_cloud.ppt
Cloud-computing.ppt
Traditional knowledge protection.pptx
PPT_CC.pptx
UNIT III.ppt
SFDC.docx
Lecture No. 21-22.ppt
file.pdf
Ad

Recently uploaded (20)

PPTX
introduction to high performance computing
PPTX
Safety Seminar civil to be ensured for safe working.
PPT
introduction to datamining and warehousing
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPT
Total quality management ppt for engineering students
PDF
Abrasive, erosive and cavitation wear.pdf
PPT
A5_DistSysCh1.ppt_INTRODUCTION TO DISTRIBUTED SYSTEMS
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPT
Occupational Health and Safety Management System
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PPTX
Current and future trends in Computer Vision.pptx
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
Visual Aids for Exploratory Data Analysis.pdf
PPTX
Artificial Intelligence
PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
introduction to high performance computing
Safety Seminar civil to be ensured for safe working.
introduction to datamining and warehousing
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Total quality management ppt for engineering students
Abrasive, erosive and cavitation wear.pdf
A5_DistSysCh1.ppt_INTRODUCTION TO DISTRIBUTED SYSTEMS
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
Occupational Health and Safety Management System
III.4.1.2_The_Space_Environment.p pdffdf
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
Current and future trends in Computer Vision.pptx
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Visual Aids for Exploratory Data Analysis.pdf
Artificial Intelligence
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf

Docker.ppt

  • 2. • A dotCloud (PAAS provider) project • Initial commit January 18, 2013 • Docker 0.1.0 released March 25, 2013 • 18,600+ github stars, 3800+ forks,740 Contributors…. and continues • dotCloud pivots to docker inc. October 29, 2013 DOCKER HISTORY ……
  • 3. • Open platform for developers and sysadmins to build, ship and run distributed applications • Can run on popular 64-bit Linux distributions with kernel 3.8 or later • Supported by several cloud platforms including Amazon EC2, Google Compute Engine, and Rackspace. What is Docker ?!!!
  • 4. • Light-Weight o Minimal overhead (cpu/io/network) o Based on Linux containers o Uses layered filesystem to save space (AUFS/LVM) o Uses a copy-on-write filesystem to track changes • Portable o Can run on any Linux system that supports LXC (today). o 0.7 release includes support for RedHat/Fedora family. o Raspberry pi support. o Future plans to support other container tools (lmctfy, etc.) o Possible future support for other operating systems (Solaris, OSX, Windows?) • Self-sufficient o A Docker container contains everything it needs to run o Minimal Base OS o Libraries and frameworks o Application code o A docker container should be able to run anywhere that Docker can run. Features….
  • 6. The Matrix From Hell……
  • 8. Also a Matrix from Hell……
  • 10. Docker is a Container System for Code……
  • 11. Docker Eliminates the Matrix from Hell……
  • 12. Why it Works: Separation of Concerns……
  • 13. • Docker Engine – CLI – Docker Daemon – Docker Registry • Docker Hub – Cloud service • Share Applications • Automate workflows • Assemble apps from components • Docker images • Docker containers Docker Architecture……
  • 14. • NOT A VHD • NOT A FILESYSTEM • uses a Union File System • a read-only Layer • do not have state • Basically a tar file • Has a hierarchy • Arbitrary depth • Fits into the Docker Registry Docker images……
  • 15. Units of software delivery (ship it!) ● run everywhere – regardless of kernel version – regardless of host distro – (but 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 *Unless you emulate CPU with qemu and binfmt Docker Containers...
  • 18. How does Docker work ? • You can build Docker images that hold your applications • You can create Docker containers from those Docker images to run your applications. • You can share those Docker images via Docker Hub or your own registry
  • 19. Virtual Machine Versus Container……
  • 20. Virtual Machine Versus Container……
  • 21. • The Life of a Container – Conception • BUILD an Image from a Dockerfile – Birth • RUN (create+start) a container – Reproduction • COMMIT (persist) a container to a new image • RUN a new container from an image – Sleep • KILL a running container – Wake • START a stopped container – Death • RM (delete) a stopped container • Extinction – RMI a container image (delete image) Docker Container Lifecycle ……
  • 22. • Kernel Feature • Groups of processes • Control resource allocations – CPU – Memory – Disk – I/O • May be nested Linux Cgroups ……
  • 23. • Kernel Feature • Restrict your view of the system – Mounts (CLONE_NEWNS) – UTS (CLONE_NEWUTS) • uname() output – IPC (CLONE_NEWIPC) – PID (CLONE_NEWPID) – Networks (CLONE_NEWNET) – User (CLONE_NEWUSER) • Not supported in Docker yet • Has privileged/unprivileged modes today • May be nested Linux Kernel Namespaces ……
  • 24. • Like a Makefile (shell script with keywords) • Extends from a Base Image • Results in a new Docker Image • Imperative, not Declarative • A Docker file lists the steps needed to build an images • docker build is used to run a Docker file • Can define default command for docker run, ports to expose, etc Dockerfile ……
  • 25. Docker CLI Commands (v1.1.2)……
  • 26. Want to hack on Docker ? • Reporting Security Issues • Design and Cleanup Proposals • Reporting Issues • Build Environment Contributing to Docker ……
  • 27. • Easy to build, run & share containers • Rapidly expanding ecosystem • Better performance vs. VMs • Layered file system gives us git-like control of images • Reduces complexity of system builds • Red Hat - Project Atomic Host, and certifications - containerized applications, Geard and OpenShift. • Google is expected to tightly integrate containers with its IaaS and PaaS offerings. SUMMARY……