SlideShare a Scribd company logo
Docker 101
Introduction to Docker and Containers
Ashutoshh Singh
About Me
ashutoshh@linux.com
+91-9509957594
linkedin.com/in/ashutoshh
● Chief Technology Officer, AdHoc Networks
● DevOps Consultant
● Research Areas: DevOps, Deep Learning, Neural Networks
● Talks:
○ PyCon India 2017
○ DevConf India 2018
● Open Source Contributor: Fedora, Docker and Ansible
slashdevops.blogspot.com
Agenda
● Why Containers?
● What are Containers?
○ Characteristics
○ Relationship between VMs and Containers.
● Docker
○ About Docker
○ What is Docker?
○ Components of Docker
● Docker Use Cases
Why containers?
1. Software Industry has Changed
● Before:
○ monolithic applications
○ long development cycles
○ single environment
○ slowly scaling up
● Now:
○ de-coupled services
○ fast and iterative improvements
○ multiple environments
○ quickly scaling out
2. Deployment becomes Complex
● Many different stacks:
○ Languages
○ Frameworks
○ Databases
● Many different targets:
○ Individual development environments
○ Pre-production, QA, staging
○ Production: On-premise, Cloud, Hybrid
The Deployment Problem
Parallel Problem in Shipping Industry
Solution for Shipping Industry: Intermodal Shipping Containers
Solution for Software Industry: Container System for Applications
What are containers?
● a Set of Processes sharing a common Kernel’s resources for
execution.
● Isolated from the rest of the machine.
(can’t see/affect/harm host or other containers)
● Implementation:
○ Uses namespaces to view the system’s privately
(network interfaces, PID tree, etc.)
○ Uses cgroups to have metered/limited/reserved resources
What are containers?
Docker 101 : Introduction to Docker and Containers
Characteristics:
● Fast
○ Boots in milliseconds
● Lightweight
○ Just a few MBs of intrinsic disk/memory usage
● Portable
○ Migration from one system to another like a VM.
○ Deploy new applications or kill the old ones instantly.
● Secure
○ Considerable level of security to applications, as Containers
remain isolated from each other on the guest OS.
Relationship between Virtual Machines and Containers
Docker
About Docker
● Software debuted to the public in Santa Clara at PyCon in
2013.
● Written in: Go
● Products maintained by Docker, Inc.
○ Docker Engine
○ Docker Engine Enterprise
○ Docker Hub
○ Docker Desktop
● Headquarters: San Francisco
Solomon Hykes
Original Author
What is Docker?
● Installing Docker = Installing Docker Engine + Docker CLI
● Docker Engine is a daemon which manages containers, the same way
that a hypervisor manages VMs.
● Docker CLI is used to interact with the Docker Engine.
● The Docker CLI and the Docker Engine communicate through an API.
● However, there are many other programs, and client libraries,
to use the API.
What is Docker?
Docker 101 : Introduction to Docker and Containers
Components of Docker
● Docker Client and Server
● Docker Images
● Docker Registries
● Docker Containers
1. Docker Client and Server
● The Docker Server receives the request from Docker Client, and then,
processes it accordingly.
● Docker Server is also known as, Docker Engine.
Components of Docker
Docker Daemon
Docker
Container
Docker Client Docker ClientDocker Client
Docker Host
2. Docker Containers
● Abstraction at the app layer that packages code and
dependencies together.
● Multiple containers can run on the same machine and share the OS
kernel with other containers.
● Each container runs as isolated processes in user space.
Components of Docker
Docker 101 : Introduction to Docker and Containers
3. Docker Images
● Image = files + metadata
● The file forms the root filesystem of the container.
● The metadata can indicate a number of things, like:
○ the author of the image
○ the command to execute in the container when starting it
○ environment variables to be set
○ etc.
● Images are made of layers, conceptually stacked on top of each other.
● Each layer can add, change, and remove files and/or metadata.
● Images can share layers to optimize disk usage, transfer times, and memory
use.
● Images are STATELESS and IMMUTABLE.
Components of Docker
3. Docker Images
● There are two methods to build an image:
○ By using a read-only template.
○ Create a Dockerfile (Automated way of building an image).
● The process of building a new image is called:
“COMMITING A CHANGE”.
Components of Docker
3. Docker Images
Components of Docker
Ubuntu Base
PHP Engine
Apache HTTPD
PHP Extensions
php-with-mysql
● For this image, we start with base image of Ubuntu.
● In the next layer, we add Apache.
● Next, we install the PHP Engine.
● Now, we may add some PHP Extensions
(mysql, etc.)
● Then, we tag image with the name ‘php-with-mysql’
● Once built, this image may serve as a base image
for subsequent images.
4. Docker Image Namespaces
● Official Images / Root Namespace
● User (and organizations) images / User Namespace
● Self-Hosted Images / Self-Hosted Namespace
Components of Docker
4. Docker Image Namespaces
Official Images / Root Namespace
● Root namespace is for official images.
They are put by Docker Inc., and generally authored and maintained by third parties.
● Includes images like:
○ Small, "swiss-army-knife" images like busybox.
○ Distro images to be used as bases for builds like ubuntu, fedora, etc.
○ Ready-to-use components and services, like redis, postgresql, etc.
Components of Docker
4. Docker Image Namespaces
User (and organizations) images / User Namespace
● Holds images for Docker Hub users and organizations.
● e.g. ashutoshh/image
○ Docker Hub user: ashutoshh
○ Image name: image
Components of Docker
4. Docker Image Namespaces
Self-Hosted Images / Self-Hosted Namespace
● Holds images which are not hosted on Docker Hub, but on third party registries.
● They contain the hostname (or IP address), and optionally the port,
of the registry server.
● e.g. registry.example.com:5000/image
○ registry.example.com:5000 : Host and Port of registry
○ image : Image name
Components of Docker
Docker
Use
Cases
Everything in Google runs within a container.
Over a billion containers in a week!
Google is firing up some
3,300 containers every second
on an average.
Runs containers on-premises.
Container instances host about
300 logical services.
Nodes are virtualized and running
on top of VMware vSphere
About 1,000 container
instances across 32 nodes.
Finnish Railways could increase the density and utilization of its
Amazon compute instances, saving on its cloud bill.
An Average Cost savings of 50% with Docker Enterprise Edition.
About 800 container instances
in total (300 are for production).
Finnish Railways
Docker 101 : Introduction to Docker and Containers
THANK YOU :)
Questions?

More Related Content

What's hot

Docker basics
Docker basicsDocker basics
Docker basics
AmanSoni129
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
Bangladesh Network Operators Group
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
DuckDuckGo
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Luong Vo
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Docker
DockerDocker
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Pubudu Jayawardana
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
Gourav Varma
 
Docker intro
Docker introDocker intro
Docker intro
Oleg Z
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Robert Reiz
 
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
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and Docker
Fayçal Bziou
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
Docker, Inc.
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
Juneyoung Oh
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Gourav Varma
 

What's hot (20)

Docker basics
Docker basicsDocker basics
Docker basics
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker
DockerDocker
Docker
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
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
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
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...
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and Docker
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 

Similar to Docker 101 : Introduction to Docker and Containers

Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
Amr Fawzy
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
Samuel Chow
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
DOCKER-PIAIC-SLIDES
DOCKER-PIAIC-SLIDESDOCKER-PIAIC-SLIDES
DOCKER-PIAIC-SLIDES
MuhammadAhmed651877
 
Best Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with DockerBest Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with Docker
Eric Smalling
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Dockercon 23 - Getting started with Docker
Dockercon 23 - Getting started with DockerDockercon 23 - Getting started with Docker
Dockercon 23 - Getting started with Docker
ssuserfb6acb
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
thehoagie
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
JEMLI Fathi
 
Docker 101
Docker 101Docker 101
Docker 101
Hung-Che Lo
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
Introduction to Docker, Devops Virtualization and configuration management
Introduction to Docker, Devops Virtualization and configuration managementIntroduction to Docker, Devops Virtualization and configuration management
Introduction to Docker, Devops Virtualization and configuration management
AbhinShyam1
 
Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
Jordan Open Source Association
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
Vishwas N
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
Innfinision Cloud and BigData Solutions
 

Similar to Docker 101 : Introduction to Docker and Containers (20)

Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
DOCKER-PIAIC-SLIDES
DOCKER-PIAIC-SLIDESDOCKER-PIAIC-SLIDES
DOCKER-PIAIC-SLIDES
 
Best Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with DockerBest Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with Docker
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
Dockercon 23 - Getting started with Docker
Dockercon 23 - Getting started with DockerDockercon 23 - Getting started with Docker
Dockercon 23 - Getting started with Docker
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
 
Docker 101
Docker 101Docker 101
Docker 101
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
Introduction to Docker, Devops Virtualization and configuration management
Introduction to Docker, Devops Virtualization and configuration managementIntroduction to Docker, Devops Virtualization and configuration management
Introduction to Docker, Devops Virtualization and configuration management
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
 

Recently uploaded

Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
HackersList
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
How to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdfHow to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdf
ChristopherTHyatt
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
moinahousna
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 

Recently uploaded (20)

Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
How to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdfHow to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdf
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 

Docker 101 : Introduction to Docker and Containers

  • 1. Docker 101 Introduction to Docker and Containers
  • 2. Ashutoshh Singh About Me ashutoshh@linux.com +91-9509957594 linkedin.com/in/ashutoshh ● Chief Technology Officer, AdHoc Networks ● DevOps Consultant ● Research Areas: DevOps, Deep Learning, Neural Networks ● Talks: ○ PyCon India 2017 ○ DevConf India 2018 ● Open Source Contributor: Fedora, Docker and Ansible slashdevops.blogspot.com
  • 3. Agenda ● Why Containers? ● What are Containers? ○ Characteristics ○ Relationship between VMs and Containers. ● Docker ○ About Docker ○ What is Docker? ○ Components of Docker ● Docker Use Cases
  • 5. 1. Software Industry has Changed ● Before: ○ monolithic applications ○ long development cycles ○ single environment ○ slowly scaling up ● Now: ○ de-coupled services ○ fast and iterative improvements ○ multiple environments ○ quickly scaling out
  • 6. 2. Deployment becomes Complex ● Many different stacks: ○ Languages ○ Frameworks ○ Databases ● Many different targets: ○ Individual development environments ○ Pre-production, QA, staging ○ Production: On-premise, Cloud, Hybrid
  • 8. Parallel Problem in Shipping Industry
  • 9. Solution for Shipping Industry: Intermodal Shipping Containers
  • 10. Solution for Software Industry: Container System for Applications
  • 12. ● a Set of Processes sharing a common Kernel’s resources for execution. ● Isolated from the rest of the machine. (can’t see/affect/harm host or other containers) ● Implementation: ○ Uses namespaces to view the system’s privately (network interfaces, PID tree, etc.) ○ Uses cgroups to have metered/limited/reserved resources What are containers?
  • 14. Characteristics: ● Fast ○ Boots in milliseconds ● Lightweight ○ Just a few MBs of intrinsic disk/memory usage ● Portable ○ Migration from one system to another like a VM. ○ Deploy new applications or kill the old ones instantly. ● Secure ○ Considerable level of security to applications, as Containers remain isolated from each other on the guest OS.
  • 15. Relationship between Virtual Machines and Containers
  • 17. About Docker ● Software debuted to the public in Santa Clara at PyCon in 2013. ● Written in: Go ● Products maintained by Docker, Inc. ○ Docker Engine ○ Docker Engine Enterprise ○ Docker Hub ○ Docker Desktop ● Headquarters: San Francisco Solomon Hykes Original Author
  • 18. What is Docker? ● Installing Docker = Installing Docker Engine + Docker CLI ● Docker Engine is a daemon which manages containers, the same way that a hypervisor manages VMs. ● Docker CLI is used to interact with the Docker Engine. ● The Docker CLI and the Docker Engine communicate through an API. ● However, there are many other programs, and client libraries, to use the API.
  • 21. Components of Docker ● Docker Client and Server ● Docker Images ● Docker Registries ● Docker Containers
  • 22. 1. Docker Client and Server ● The Docker Server receives the request from Docker Client, and then, processes it accordingly. ● Docker Server is also known as, Docker Engine. Components of Docker Docker Daemon Docker Container Docker Client Docker ClientDocker Client Docker Host
  • 23. 2. Docker Containers ● Abstraction at the app layer that packages code and dependencies together. ● Multiple containers can run on the same machine and share the OS kernel with other containers. ● Each container runs as isolated processes in user space. Components of Docker
  • 25. 3. Docker Images ● Image = files + metadata ● The file forms the root filesystem of the container. ● The metadata can indicate a number of things, like: ○ the author of the image ○ the command to execute in the container when starting it ○ environment variables to be set ○ etc. ● Images are made of layers, conceptually stacked on top of each other. ● Each layer can add, change, and remove files and/or metadata. ● Images can share layers to optimize disk usage, transfer times, and memory use. ● Images are STATELESS and IMMUTABLE. Components of Docker
  • 26. 3. Docker Images ● There are two methods to build an image: ○ By using a read-only template. ○ Create a Dockerfile (Automated way of building an image). ● The process of building a new image is called: “COMMITING A CHANGE”. Components of Docker
  • 27. 3. Docker Images Components of Docker Ubuntu Base PHP Engine Apache HTTPD PHP Extensions php-with-mysql ● For this image, we start with base image of Ubuntu. ● In the next layer, we add Apache. ● Next, we install the PHP Engine. ● Now, we may add some PHP Extensions (mysql, etc.) ● Then, we tag image with the name ‘php-with-mysql’ ● Once built, this image may serve as a base image for subsequent images.
  • 28. 4. Docker Image Namespaces ● Official Images / Root Namespace ● User (and organizations) images / User Namespace ● Self-Hosted Images / Self-Hosted Namespace Components of Docker
  • 29. 4. Docker Image Namespaces Official Images / Root Namespace ● Root namespace is for official images. They are put by Docker Inc., and generally authored and maintained by third parties. ● Includes images like: ○ Small, "swiss-army-knife" images like busybox. ○ Distro images to be used as bases for builds like ubuntu, fedora, etc. ○ Ready-to-use components and services, like redis, postgresql, etc. Components of Docker
  • 30. 4. Docker Image Namespaces User (and organizations) images / User Namespace ● Holds images for Docker Hub users and organizations. ● e.g. ashutoshh/image ○ Docker Hub user: ashutoshh ○ Image name: image Components of Docker
  • 31. 4. Docker Image Namespaces Self-Hosted Images / Self-Hosted Namespace ● Holds images which are not hosted on Docker Hub, but on third party registries. ● They contain the hostname (or IP address), and optionally the port, of the registry server. ● e.g. registry.example.com:5000/image ○ registry.example.com:5000 : Host and Port of registry ○ image : Image name Components of Docker
  • 33. Everything in Google runs within a container. Over a billion containers in a week! Google is firing up some 3,300 containers every second on an average.
  • 34. Runs containers on-premises. Container instances host about 300 logical services. Nodes are virtualized and running on top of VMware vSphere About 1,000 container instances across 32 nodes.
  • 35. Finnish Railways could increase the density and utilization of its Amazon compute instances, saving on its cloud bill. An Average Cost savings of 50% with Docker Enterprise Edition. About 800 container instances in total (300 are for production). Finnish Railways