SlideShare a Scribd company logo
Docker Container
A BRIEF INTRODUCTION (GURGAON, 30-JAN-2016)
KHELENDER SASAN
Agenda
▌What is Docker?
Build apps once, run anywhere !
VM versus Containers
 (Enabling) Platform for distributed apps!
▌Design & Technology
Introduction
Docker Architecture
▌Hands-on usage demonstration
Build once, RUN anywhere…
WHAT IS DOCKER?
Challenge of Software Industry
Source: http://www.slideshare.net/Docker/dockerintronovember-
131125185628phpapp02-37588934
Dependency Hell (libraries / packages / ….)
Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
Cargo transport (pre-1960….)
Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
Solution for Shipping Industry….
Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
Multiplicityof
Goods
Multiplicityof
methodsfor
transporting/storing
DoIworryabouthow
goodsinteract(e.g.
coffeebeansnextto
spices)
CanItransportquickly
andsmoothly
(e.g.fromboattotrain
totruck)
…in between, can be loaded
and unloaded, stacked,
transported efficiently over
long distances, and
transferred from one mode of
transport to another
A standard container that
is loaded with virtually any
goods, and stays sealed
until it reaches final
delivery.
Solution
Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
Solution for Software Industry….
Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
Hypervisor VM versus Docker Containers
•Includes hardware simulation & OS
execution
•Requires order of GB – 100s of MBs of
memory for each instance (Heavy Weight)
•Can simulate few VMs per server
(Expensive)
•Instance launch complete takes several
seconds minute (slower)
Virtual Machine
(Hardware
virtualization)
•Based on Linux Containers and Union File
System.
•Requires order of few MBs of memory for
each instance (Light Weight)
•Can simulate much higher containers per
server (Cheaper)
•Instance launched in sub-second time-
frame (much faster)
Docker
containers
(OS level
virtualization)
Enabling Platform for distributed computing….
FOUND NEW AREAS OF APPLICATION
Enabling Cloud Computing
(OpenStack)
Enabling Distributed computing
(Google Kubernetes)
Enabling Hadoop (Distributed computing
platform)
CoreOS
Gogeta
Design & Technology
WHAT IS DOCKER?
Docker Technology : Introduction
Traditional Hypervisor based VMs Container based Application execution
Framework built on top of Linux containers that can package an application and
its dependencies => Can be launched / deployed in form of software
container on any Linux server (providing portability of underlying platform:
cloud, bare-metal, server, desktop or laptop)
Docker Technology Introduction….continued…
Container relies on Linux kernel facilities: chroot, cgroups
and name-space facilities that provide resource isolation
(CPU, memory, block I/O, network, etc.) => Doesn’t require a
separate OS instance.
Docker provides framework & a high level API over Linux
containers for portable deployment of applications across
machines
Docker provides versioning capability to track successive
versions of a container
Docker uses AUFS (Advanced multi-layered Unification File
System) – It greatly enhances the performance of docker
containers and provides for optimized usage of underlying
disk resources
Docker Architecture
Usage Flow
Docker Platform for Distributed
computing….
 Docker Machine
 Docker Machine takes you from zero-to-Docker in seconds with a single command.
 Before Docker Machine, a developer would need to log in to the host and follow installation and configuration
instructions specifically for that host and its OS. With Docker Machine, whether provisioning the Docker
daemon on a new laptop, on virtual machines in the data center, or on a public cloud instance, the same,
single command
 Docker Swarm
 Docker Swarm is native clustering for Dockerized distributed apps. It picks-up where Docker Machines leaves
off by optimizing host resource utilization and providing failover services. Specifically, Docker Swarm allows
users to create resource pools of hosts running Docker daemons and then schedule Docker containers to run
on top, automatically managing workload placement and maintaining cluster state.
 Docker Compose
 Docker Compose is the last piece of the orchestration puzzle. After provisioning Docker daemons on any host
in any location with Docker Machine and clustering them with Docker Swarm, users can employ Docker
Compose to assemble multi-container distributed apps that run on top of these clusters.
Hands-on demonstration
DOCKER ENVIORNMENT
Setting it up and downloading a sample image…
 Docker installation
 Download an existing container image from public docker registry
A simple 2 linked Container setup…
Server
Host OS
Docker Engine
Bin/Libs
Etherlite Etherlite
Bin/Libs-
2
mysql
A simple 2-tier web application (ether-lite)
$ mkdir demo
$ cd demo
$ mkdir mysql_data
$ docker run -d -e MYSQL_ROOT_PASSWORD=password --name demo_mysql -v
$PWD/mysql_data:/var/lib/mysql mysql
<Container ID>
$ docker run -d --link=demo_mysql:mysql -p 9001:9001 mkodockx/docker-etherpad
<Container ID>
<<< Another instance for scaling can be added as well !!>>>
$ docker run -d --link=demo_mysql:mysql -p 9002:9001 mkodockx/docker-etherpad
Explaning Registry Server…
Thanks!
Questions?

More Related Content

PDF
Docker Container Introduction
PDF
Docker Container-Introduction and Features
PPTX
Docker : Container Virtualization
PPTX
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
PDF
Docker Basics
PDF
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
PDF
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
PPTX
Docker introduction for the beginners
Docker Container Introduction
Docker Container-Introduction and Features
Docker : Container Virtualization
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Docker Basics
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
Docker introduction for the beginners

What's hot (20)

PDF
Docker for developers
PPTX
Virtual Container - Docker
PDF
Introduction to container based virtualization with docker
PPTX
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
PDF
Introduction to Docker - VIT Campus
PPTX
Docker 101 - High level introduction to docker
PDF
Docker introduction
PDF
Introduction to docker
PPTX
Virtualization, Containers, Docker and scalable container management services
PDF
A Shift from Monolith to Microservice using Docker
PPTX
Docker 101 Checonf 2016
PDF
Docker 101
PPTX
Docker Basics
PPTX
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
PPTX
Docker, LinuX Container
PPTX
Docker Basic to Advance
PDF
Docker in real life
PPTX
Docker 101 : Introduction to Docker and Containers
PPTX
Dockers and containers basics
PDF
Docker 101: Introduction to Docker
Docker for developers
Virtual Container - Docker
Introduction to container based virtualization with docker
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
Introduction to Docker - VIT Campus
Docker 101 - High level introduction to docker
Docker introduction
Introduction to docker
Virtualization, Containers, Docker and scalable container management services
A Shift from Monolith to Microservice using Docker
Docker 101 Checonf 2016
Docker 101
Docker Basics
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker, LinuX Container
Docker Basic to Advance
Docker in real life
Docker 101 : Introduction to Docker and Containers
Dockers and containers basics
Docker 101: Introduction to Docker
Ad

Similar to Docker container a-brief_introduction_2016-01-30 (20)

PDF
Introduction to Docker - IndiaOpsUG
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
PDF
Introduction to Docker Containers - Docker Captain
PDF
Introduction to Docker
PPTX
Intro to Docker November 2013
PPTX
Intro Docker october 2013
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PDF
Introduction to Docker and Monitoring with InfluxData
PDF
Docker slides
PDF
Docker-v3.pdf
PDF
Introduction to Docker - Vellore Institute of Technology
PDF
Docker Introduction
PDF
Dockers and kubernetes
PPTX
Cont0519
PDF
The ABC of Docker: The Absolute Best Compendium of Docker
PDF
PPTX
Docker Introduction
PDF
A curtain-raiser to the container world Docker & Kubernetes
PPTX
Docker introduction
PPTX
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Introduction to Docker - IndiaOpsUG
ma-formation-en-Docker-jlklk,nknkjn.pptx
Introduction to Docker Containers - Docker Captain
Introduction to Docker
Intro to Docker November 2013
Intro Docker october 2013
Docker 0.11 at MaxCDN meetup in Los Angeles
Introduction to Docker and Monitoring with InfluxData
Docker slides
Docker-v3.pdf
Introduction to Docker - Vellore Institute of Technology
Docker Introduction
Dockers and kubernetes
Cont0519
The ABC of Docker: The Absolute Best Compendium of Docker
Docker Introduction
A curtain-raiser to the container world Docker & Kubernetes
Docker introduction
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Ad

Recently uploaded (20)

PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Softaken Excel to vCard Converter Software.pdf
PPT
JAVA ppt tutorial basics to learn java programming
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
history of c programming in notes for students .pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Introduction to Artificial Intelligence
PPTX
Operating system designcfffgfgggggggvggggggggg
PPT
Introduction Database Management System for Course Database
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
Complete React Javascript Course Syllabus.pdf
ISO 45001 Occupational Health and Safety Management System
Softaken Excel to vCard Converter Software.pdf
JAVA ppt tutorial basics to learn java programming
Understanding Forklifts - TECH EHS Solution
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Upgrade and Innovation Strategies for SAP ERP Customers
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
history of c programming in notes for students .pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Odoo POS Development Services by CandidRoot Solutions
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction to Artificial Intelligence
Operating system designcfffgfgggggggvggggggggg
Introduction Database Management System for Course Database
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Materi-Enum-and-Record-Data-Type (1).pptx
Complete React Javascript Course Syllabus.pdf

Docker container a-brief_introduction_2016-01-30

  • 1. Docker Container A BRIEF INTRODUCTION (GURGAON, 30-JAN-2016) KHELENDER SASAN
  • 2. Agenda ▌What is Docker? Build apps once, run anywhere ! VM versus Containers  (Enabling) Platform for distributed apps! ▌Design & Technology Introduction Docker Architecture ▌Hands-on usage demonstration
  • 3. Build once, RUN anywhere… WHAT IS DOCKER?
  • 4. Challenge of Software Industry Source: http://www.slideshare.net/Docker/dockerintronovember- 131125185628phpapp02-37588934
  • 5. Dependency Hell (libraries / packages / ….) Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
  • 6. Cargo transport (pre-1960….) Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
  • 7. Solution for Shipping Industry…. Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934 Multiplicityof Goods Multiplicityof methodsfor transporting/storing DoIworryabouthow goodsinteract(e.g. coffeebeansnextto spices) CanItransportquickly andsmoothly (e.g.fromboattotrain totruck) …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
  • 9. Solution for Software Industry…. Source: http://www.slideshare.net/Docker/dockerintronovember-131125185628phpapp02-37588934
  • 10. Hypervisor VM versus Docker Containers •Includes hardware simulation & OS execution •Requires order of GB – 100s of MBs of memory for each instance (Heavy Weight) •Can simulate few VMs per server (Expensive) •Instance launch complete takes several seconds minute (slower) Virtual Machine (Hardware virtualization) •Based on Linux Containers and Union File System. •Requires order of few MBs of memory for each instance (Light Weight) •Can simulate much higher containers per server (Cheaper) •Instance launched in sub-second time- frame (much faster) Docker containers (OS level virtualization)
  • 11. Enabling Platform for distributed computing…. FOUND NEW AREAS OF APPLICATION
  • 14. Enabling Hadoop (Distributed computing platform)
  • 17. Docker Technology : Introduction Traditional Hypervisor based VMs Container based Application execution Framework built on top of Linux containers that can package an application and its dependencies => Can be launched / deployed in form of software container on any Linux server (providing portability of underlying platform: cloud, bare-metal, server, desktop or laptop)
  • 18. Docker Technology Introduction….continued… Container relies on Linux kernel facilities: chroot, cgroups and name-space facilities that provide resource isolation (CPU, memory, block I/O, network, etc.) => Doesn’t require a separate OS instance. Docker provides framework & a high level API over Linux containers for portable deployment of applications across machines Docker provides versioning capability to track successive versions of a container Docker uses AUFS (Advanced multi-layered Unification File System) – It greatly enhances the performance of docker containers and provides for optimized usage of underlying disk resources
  • 21. Docker Platform for Distributed computing….  Docker Machine  Docker Machine takes you from zero-to-Docker in seconds with a single command.  Before Docker Machine, a developer would need to log in to the host and follow installation and configuration instructions specifically for that host and its OS. With Docker Machine, whether provisioning the Docker daemon on a new laptop, on virtual machines in the data center, or on a public cloud instance, the same, single command  Docker Swarm  Docker Swarm is native clustering for Dockerized distributed apps. It picks-up where Docker Machines leaves off by optimizing host resource utilization and providing failover services. Specifically, Docker Swarm allows users to create resource pools of hosts running Docker daemons and then schedule Docker containers to run on top, automatically managing workload placement and maintaining cluster state.  Docker Compose  Docker Compose is the last piece of the orchestration puzzle. After provisioning Docker daemons on any host in any location with Docker Machine and clustering them with Docker Swarm, users can employ Docker Compose to assemble multi-container distributed apps that run on top of these clusters.
  • 23. Setting it up and downloading a sample image…  Docker installation  Download an existing container image from public docker registry
  • 24. A simple 2 linked Container setup… Server Host OS Docker Engine Bin/Libs Etherlite Etherlite Bin/Libs- 2 mysql
  • 25. A simple 2-tier web application (ether-lite) $ mkdir demo $ cd demo $ mkdir mysql_data $ docker run -d -e MYSQL_ROOT_PASSWORD=password --name demo_mysql -v $PWD/mysql_data:/var/lib/mysql mysql <Container ID> $ docker run -d --link=demo_mysql:mysql -p 9001:9001 mkodockx/docker-etherpad <Container ID> <<< Another instance for scaling can be added as well !!>>> $ docker run -d --link=demo_mysql:mysql -p 9002:9001 mkodockx/docker-etherpad

Editor's Notes

  • #17: http://hortonworks.com/blog/openshift-v3-kubernetes-docker-hadoop-yarn/