SlideShare a Scribd company logo
1 of 42
Download to read offline
Introduction to Docker
Ajeet Singh Raina
Docker Captain – Docker, Inc.
2
Who Am I?
• Sr. Systems Development Engineer at DellEMC
• 1st half of my career was in CGI & VMware
• 2nd half of my career has been in System Integration
• Testing/Project Lead for Dell EMC.
• Definitely more IT pro than developer
• @ajeetsraina (a frequent Twitterati)
http://www.collabnix.com
Agenda
- A Shift from Monolithic to Microservices Architecture
- What is Docker? What problem does it solve for us?
- How Docker is different from VM & CM
- Using Docker: Build, Ship and Run WorkFlow
- Docker Ecosystem & Native Offering
- Docker Tools
- Demo
A Shift from Monolithic to
Microservice Architecture
5
Monolithic A Decade Ago (and still valid)
Ap - Apps were monolithic
Slow Changing - Built on a single stack such as .NET or Java
- Long Lived
- Deployed to a single server
Big Server
6
Today
- Apps are constantly developed
- Newer version are deployed often
- Built from loosely coupled components
- Deployed to a multitude of servers
Customer/
Clients/ Users
Data
Storage
Data
Storage
Data
Storage
7
Once upon a time… A Software Stack
8
Now....much more distributed, complex..
9
10
11
An Effort to solve the problem complexity…
12
Every possible goods to ship X Every possible way to ship
13
A Solution…
14
Docker ~ Brings standardization on packaging goods
15
What is Docker?
Virtualization Tool?
Configuration Manager?
VM Manager?
16
Less Portable,
Minimal Overhead
Most Portable,
Lots of Overhead
Manual Configuration Traditional VMs
Configuration Tools
17
Less Portable,
Minimal Overhead
Most Portable,
Lots of Overhead
Manual Configuration Traditional VMs
Configuration Tools
18
What is Docker?
 A Company as well as Product
 Developed by DotCloud Inc. ( Currently Docker Inc.)
 A Framework they built their PaaS upon.
 Released it as open source 4+ years back
 Cross-platform nature and friendliness towards System Admin and Developers
• Developers - concentrate on building applications and getting them running
inside the containers
• System Admins - work on running the containers in deployment.
 Possible to set up in any OS, be it Windows, OSX, Linux - It work the same way
 Guaranteed to run the same way - Your development desktop, a bare-metal
server, virtual machine, data center, or cloud
19
What is Docker?
• A tool that can package an application and its dependencies in a virtual
container.
• Implementation of a container which is portable using a concept of image
• Docker uses host OS kernel, there is no custom or additional kernel inside
container. All containers runs on machine are sharing this "host" kernel.
• Docker uses resource isolation features of the Linux kernel such as cgroups and
kernel namespaces to allow independent "containers" to run within a single Linux
instance, avoiding the overhead of starting virtual machines.
20
What is Docker?
• Standardized packaging for
software and dependencies
• Isolate apps from each other
• Share the same OS kernel
• Works for all major Linux
distributions
• Containers native to Windows
Server 2016
Docker containers are NOT VMs
22
Docker containers are NOT VMs
• It’s not quite like a VM
• Uses the host kernel
• Can’t boot a different OS
• Can’t have its own modules
• Doesn’t need init as PID 1
• Doesn’t need syslogd, cron.
It’s just a normal process on the host machine
• Contrast with VMs which are opaque
23
VM Vs Docker - Similarity
Virtual Machines Docker
Process in one VM can’t see processes in
other VMs
Process in one container can’t see
processes in other container
Each VM has its own root filesystem Each container has its own root file
system(Not Kernel)
Each VM gets its own virtual network
adapter
Docker can get virtual network adapter. It
can have separate IP and ports
VM is a running instance of physical
files(.VMX and .VMDK)
Docker containers are running instances of
Docker Image
Host OS can be different from guest OS Host OS can be different from Container
OS
24
VM Vs Docker - Difference
Virtual Machines Docker
Each VM runs its own OS All containers share the same Kernel of
the host
Boot up time is in minutes Containers instantiate in seconds
VMs snapshots are used sparingly Images are built incrementally on top of
another like layers. Lots of
images/snapshots
Not effective diffs. Not version controlled Images can be diffed and can be version
controlled. Dockerhub is like GITHUB
Cannot run more than couple of VMs on
an average laptop
Can run many Docker containers in a
laptop.
Only one VM can be started from one set
of VMX and VMDK files
Multiple Docker containers can be started
from one Docker image
25
VMs
26
Containers
27
Containers Vs VMs
Docker + Windows Server = Windows Containers
Native Windows containers powered
by Docker Engine
Windows kernel engineered with
new primitives to support containers
Deep integration with 2+ years of
engineering collaboration in Docker
Engine and Windows Server
Microsoft is top 5 Docker open
source project contributor and a
Docker maintainer
Infrastructure
Windows Server 2016
Bins/Libs
App
Docker Engine
Bins/Libs
App
Bins/Libs
App
29
They’re different, not mutually exclusive
Docker Vocabulary
31
Some Docker vocabulary
Docker Image
The basis of a Docker container. Represents a full application
Docker Container
The standard unit in which the application service resides and executes
Docker Engine
Creates, ships and runs Docker containers deployable on a physical or
virtual, host locally, in a datacenter or cloud service provider
Registry Service (Docker Hub or Docker Trusted Registry)
Cloud or server based storage and distribution service for your images
Image Layering - An application sandbox.
- Each container is based on an image that holds necessary config
data.
- When you launch a container from an image, a writable layer is
added on top of this image
- An image that has no parent.
- Platform images define the runtime environment, packages and
utilities necessary for containerized application to run.
- A static snapshot of the containers' configuration.
- Image is a read-only layer that is never modified, all changes are
made in top-most writable layer, and can be saved only by creating
a new image.
- Each image depends on one or more parent images
Basic Docker Commands
Pulling Docker Image
$ docker pull ajeetraina/catweb
Listing out Docker Images
$ docker image ls
Running Docker Containers
$ docker container run –d –p 5000:5000 –-name catweb ajeetraina/catweb
Stopping the container
$ docker container stop catweb (or <container id>)
35
Docker Underlying Technology
Build, Ship & Run
37
Put it all together: Build, Ship, Run Workflow
Developers IT Operations
BUILD
Development Environments
SHIP
Create & Store Images
RUN
Deploy, Manage, Scale
Dockerfile – Windows Example
Dockerfile – Linux Example
Docker Compose – Building Microservices in easy way
Backend Service
Frontend Service
Environmental variables
Environmental variables
Specify Volumes/Network
Specify Volumes/Network
Demo
Docker Playground
References
www.collabnix.com
www.play-with-docker.com – Docker Playground ( For Test Drive)
www.docs.docker.com
Thank You.
Questions?
Introduction to Docker - IndiaOpsUG

More Related Content

What's hot

Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Simplilearn
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Simplilearn
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
Docker, Inc.
 

What's hot (20)

Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
Docker 101 - Getting started
Docker 101 - Getting startedDocker 101 - Getting started
Docker 101 - Getting started
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Docker intro
Docker introDocker intro
Docker intro
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Docker
DockerDocker
Docker
 
Intro To Docker
Intro To DockerIntro To Docker
Intro To Docker
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 

Viewers also liked

Viewers also liked (20)

Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...
 
Monitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesMonitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & Microservices
 
What's New in Docker 1.12?
What's New in Docker 1.12?What's New in Docker 1.12?
What's New in Docker 1.12?
 
Modernizing Java Apps with Docker
Modernizing Java Apps with DockerModernizing Java Apps with Docker
Modernizing Java Apps with Docker
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm Mode
 
Docker on Docker
Docker on DockerDocker on Docker
Docker on Docker
 
Practical Design Patterns in Docker Networking
Practical Design Patterns in Docker NetworkingPractical Design Patterns in Docker Networking
Practical Design Patterns in Docker Networking
 
Modernizing .NET Apps
Modernizing .NET AppsModernizing .NET Apps
Modernizing .NET Apps
 
Deeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay NetworksDeeper Dive in Docker Overlay Networks
Deeper Dive in Docker Overlay Networks
 
Container-relevant Upstream Kernel Developments
Container-relevant Upstream Kernel DevelopmentsContainer-relevant Upstream Kernel Developments
Container-relevant Upstream Kernel Developments
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to Practice
 
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
 
Introduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore MeetupIntroduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore Meetup
 
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerUnder the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
 
Moby and Kubernetes entitlements
Moby and Kubernetes entitlements Moby and Kubernetes entitlements
Moby and Kubernetes entitlements
 
Containerd internals: building a core container runtime
Containerd internals: building a core container runtimeContainerd internals: building a core container runtime
Containerd internals: building a core container runtime
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)
 

Similar to Introduction to Docker - IndiaOpsUG

Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 

Similar to Introduction to Docker - IndiaOpsUG (20)

Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Docker slides
Docker slidesDocker slides
Docker slides
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Docker
DockerDocker
Docker
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Docker container
Docker containerDocker container
Docker container
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 

More from Ajeet Singh Raina

More from Ajeet Singh Raina (20)

Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
 
Delivering Container-based Apps to IoT Edge devices
Delivering Container-based Apps to IoT Edge devicesDelivering Container-based Apps to IoT Edge devices
Delivering Container-based Apps to IoT Edge devices
 
Docker Trends & Statistics - A 20 Minutes Overview
Docker Trends & Statistics -  A 20 Minutes Overview Docker Trends & Statistics -  A 20 Minutes Overview
Docker Trends & Statistics - A 20 Minutes Overview
 
Real time Object Detection and Analytics using RedisEdge and Docker
Real time Object Detection and Analytics using RedisEdge and DockerReal time Object Detection and Analytics using RedisEdge and Docker
Real time Object Detection and Analytics using RedisEdge and Docker
 
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh RainaOSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
 
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker  on the Edge | OSCONF 2020 JaipurQuantifying Your World with AI & Docker  on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
 
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 HyderabadKeynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
 
IoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
IoET Conference 2020 | Keynote Slides | Ajeet Singh RainaIoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
IoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
 
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote SlidesOSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
 
Top 5 Helpful Tips to Grow Your Local Docker Community
Top 5 Helpful Tips to Grow Your Local Docker CommunityTop 5 Helpful Tips to Grow Your Local Docker Community
Top 5 Helpful Tips to Grow Your Local Docker Community
 
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAwesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
 
Demystifying the Nuts & Bolts of Kubernetes Architecture
Demystifying the Nuts & Bolts of Kubernetes ArchitectureDemystifying the Nuts & Bolts of Kubernetes Architecture
Demystifying the Nuts & Bolts of Kubernetes Architecture
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best Practices
 
Current State of Docker Platform - Nov 2019
Current State of Docker Platform  - Nov 2019Current State of Docker Platform  - Nov 2019
Current State of Docker Platform - Nov 2019
 
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
 
Introduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopIntroduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate Workshop
 
Simplifying Real Time Data Analytics with Docker, IoT & Cloud
Simplifying Real Time Data Analytics with Docker, IoT & CloudSimplifying Real Time Data Analytics with Docker, IoT & Cloud
Simplifying Real Time Data Analytics with Docker, IoT & Cloud
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Introduction to Docker - IndiaOpsUG

  • 1. Introduction to Docker Ajeet Singh Raina Docker Captain – Docker, Inc.
  • 2. 2 Who Am I? • Sr. Systems Development Engineer at DellEMC • 1st half of my career was in CGI & VMware • 2nd half of my career has been in System Integration • Testing/Project Lead for Dell EMC. • Definitely more IT pro than developer • @ajeetsraina (a frequent Twitterati) http://www.collabnix.com
  • 3. Agenda - A Shift from Monolithic to Microservices Architecture - What is Docker? What problem does it solve for us? - How Docker is different from VM & CM - Using Docker: Build, Ship and Run WorkFlow - Docker Ecosystem & Native Offering - Docker Tools - Demo
  • 4. A Shift from Monolithic to Microservice Architecture
  • 5. 5 Monolithic A Decade Ago (and still valid) Ap - Apps were monolithic Slow Changing - Built on a single stack such as .NET or Java - Long Lived - Deployed to a single server Big Server
  • 6. 6 Today - Apps are constantly developed - Newer version are deployed often - Built from loosely coupled components - Deployed to a multitude of servers Customer/ Clients/ Users Data Storage Data Storage Data Storage
  • 7. 7 Once upon a time… A Software Stack
  • 9. 9
  • 10. 10
  • 11. 11 An Effort to solve the problem complexity…
  • 12. 12 Every possible goods to ship X Every possible way to ship
  • 14. 14 Docker ~ Brings standardization on packaging goods
  • 15. 15 What is Docker? Virtualization Tool? Configuration Manager? VM Manager?
  • 16. 16 Less Portable, Minimal Overhead Most Portable, Lots of Overhead Manual Configuration Traditional VMs Configuration Tools
  • 17. 17 Less Portable, Minimal Overhead Most Portable, Lots of Overhead Manual Configuration Traditional VMs Configuration Tools
  • 18. 18 What is Docker?  A Company as well as Product  Developed by DotCloud Inc. ( Currently Docker Inc.)  A Framework they built their PaaS upon.  Released it as open source 4+ years back  Cross-platform nature and friendliness towards System Admin and Developers • Developers - concentrate on building applications and getting them running inside the containers • System Admins - work on running the containers in deployment.  Possible to set up in any OS, be it Windows, OSX, Linux - It work the same way  Guaranteed to run the same way - Your development desktop, a bare-metal server, virtual machine, data center, or cloud
  • 19. 19 What is Docker? • A tool that can package an application and its dependencies in a virtual container. • Implementation of a container which is portable using a concept of image • Docker uses host OS kernel, there is no custom or additional kernel inside container. All containers runs on machine are sharing this "host" kernel. • Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting virtual machines.
  • 20. 20 What is Docker? • Standardized packaging for software and dependencies • Isolate apps from each other • Share the same OS kernel • Works for all major Linux distributions • Containers native to Windows Server 2016
  • 22. 22 Docker containers are NOT VMs • It’s not quite like a VM • Uses the host kernel • Can’t boot a different OS • Can’t have its own modules • Doesn’t need init as PID 1 • Doesn’t need syslogd, cron. It’s just a normal process on the host machine • Contrast with VMs which are opaque
  • 23. 23 VM Vs Docker - Similarity Virtual Machines Docker Process in one VM can’t see processes in other VMs Process in one container can’t see processes in other container Each VM has its own root filesystem Each container has its own root file system(Not Kernel) Each VM gets its own virtual network adapter Docker can get virtual network adapter. It can have separate IP and ports VM is a running instance of physical files(.VMX and .VMDK) Docker containers are running instances of Docker Image Host OS can be different from guest OS Host OS can be different from Container OS
  • 24. 24 VM Vs Docker - Difference Virtual Machines Docker Each VM runs its own OS All containers share the same Kernel of the host Boot up time is in minutes Containers instantiate in seconds VMs snapshots are used sparingly Images are built incrementally on top of another like layers. Lots of images/snapshots Not effective diffs. Not version controlled Images can be diffed and can be version controlled. Dockerhub is like GITHUB Cannot run more than couple of VMs on an average laptop Can run many Docker containers in a laptop. Only one VM can be started from one set of VMX and VMDK files Multiple Docker containers can be started from one Docker image
  • 28. Docker + Windows Server = Windows Containers Native Windows containers powered by Docker Engine Windows kernel engineered with new primitives to support containers Deep integration with 2+ years of engineering collaboration in Docker Engine and Windows Server Microsoft is top 5 Docker open source project contributor and a Docker maintainer Infrastructure Windows Server 2016 Bins/Libs App Docker Engine Bins/Libs App Bins/Libs App
  • 29. 29 They’re different, not mutually exclusive
  • 31. 31 Some Docker vocabulary Docker Image The basis of a Docker container. Represents a full application Docker Container The standard unit in which the application service resides and executes Docker Engine Creates, ships and runs Docker containers deployable on a physical or virtual, host locally, in a datacenter or cloud service provider Registry Service (Docker Hub or Docker Trusted Registry) Cloud or server based storage and distribution service for your images
  • 32. Image Layering - An application sandbox. - Each container is based on an image that holds necessary config data. - When you launch a container from an image, a writable layer is added on top of this image - An image that has no parent. - Platform images define the runtime environment, packages and utilities necessary for containerized application to run. - A static snapshot of the containers' configuration. - Image is a read-only layer that is never modified, all changes are made in top-most writable layer, and can be saved only by creating a new image. - Each image depends on one or more parent images
  • 33. Basic Docker Commands Pulling Docker Image $ docker pull ajeetraina/catweb Listing out Docker Images $ docker image ls Running Docker Containers $ docker container run –d –p 5000:5000 –-name catweb ajeetraina/catweb Stopping the container $ docker container stop catweb (or <container id>)
  • 36. 37 Put it all together: Build, Ship, Run Workflow Developers IT Operations BUILD Development Environments SHIP Create & Store Images RUN Deploy, Manage, Scale
  • 37. Dockerfile – Windows Example Dockerfile – Linux Example
  • 38. Docker Compose – Building Microservices in easy way Backend Service Frontend Service Environmental variables Environmental variables Specify Volumes/Network Specify Volumes/Network
  • 40. References www.collabnix.com www.play-with-docker.com – Docker Playground ( For Test Drive) www.docs.docker.com