SlideShare a Scribd company logo
Introduction to Docker
The lightweight, portable, flexible containers
A bit of history
● FreeBSD Jails circa 2000
● Solaris Zones circa 2004
● LXC (Google) circa 2008
● Systemd-nspawn circa 2010-2013
● Docker circa 2013
○ built on LXC
○ moved to libcontainer (March 2014)
○ appC (CoreOS) announced (December 2014)
○ Open Containers standard for convergence with Docker Announced (June
2015)
○ moved to runC (OCF compliant) (July 2015)
So what is a container, technically ?
● Containers share the host kernel
● Containers use the kernel ability to group processes for
resource control
● Containers ensure isolation through namespaces
● Containers feel like lightweight VMs (lower footprint,
faster)
Components of a container ecosystem include:
● Runtime
● Image distribution
● Tooling
But we have Virtual Machine !
● Performance cost ? Not so much
● Less efficient. On the same bare-metal server, many
duplicate instances of the same OS and many redundant
boot volumes
● Slower to start and stop
● Less DevOps friendly
● However more secure and easier to constrain (important
for a public cloud operator)
Good slides comparing Containers vs VMs
Overlook of Docker Containers vs Virtual Machines
Two building blocks for containers
Linux namespaces, originally developed by IBM, deal with
resource isolation (Users, PID, Mount, Network...)for a
single process.
Linux cgroups, originally developed by Google, allow
processes to be organized into hierarchical groups whose
usage of various types of resources (CPU, memory..) can then
be limited and monitored.
Image & Layers
At start, a container
prepares rootfs & uses
chroot for the container
filesystem isolation
Docker uses Union File
Systems to speed up and
reduce size which provide:
● Layering
● Copy-On-Write
● Caching
● Diffing
Diving into docker
Mainly:
● Ecosystem & architecture
● Image DSL
● Container lifecycle
● Networking
● Volume
Docker ecosystem
Docker architecture
Docker - Image DSL example
FROM ubuntu
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && echo 'deb
http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee
/etc/apt/sources.list.d/mongodb.list
RUN apt-get update && apt-get install -y mongodb-10gen
RUN mkdir -p /data/db
EXPOSE 27017
CMD ["--port 27017"]
ENTRYPOINT usr/bin/mongod
Docker container lifecycle
Networking
Linux Bridge (for creating virtual
switches) together with IPTables
functionality to create isolated
container networks and expose
container ports.
Also easy communication with
internal DNS between container in
the same network
Data
Volumes are stored in a part
of the host filesystem which
is managed by Docker
(/var/lib/docker/volumes/ on
Linux).
Bind mounts may be stored
anywhere on the host system.
tmpfs mounts are stored in
the host system’s memory
only.
Links
● https://www.infoworld.com/article/3204171/linux/what-is-d
ocker-linux-containers-explained.html
● http://docker-saigon.github.io/post/Docker-Internals/
● https://www.youtube.com/watch?v=sK5i-N34im8&t=3s
● https://github.com/wsargent/docker-cheat-sheet
● https://dmitryfrank.com/projects/docker-quick-ref
● https://veggiemonk.github.io/awesome-docker/

More Related Content

What's hot

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Google Developer Group Zürich
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
Sagar Dash
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Lakmal Warusawithana
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Alan Forbes
 
Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)
Rama Krishna B
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Sparkbit
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Christophe Muller
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Hao Fan
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
Aniekan Akpaffiong
 
Docker
DockerDocker
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
MANAOUIL Karim
 
Ruby and Docker on Rails
Ruby and Docker on RailsRuby and Docker on Rails
Ruby and Docker on Rails
Muriel Salvan
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
Michał Kurzeja
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Jérôme Petazzoni
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
Docker, Inc.
 
Containers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
Shreyas MM
 

What's hot (20)

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)Docker and containers : Disrupting the virtual machine(VM)
Docker and containers : Disrupting the virtual machine(VM)
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Docker
DockerDocker
Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Ruby and Docker on Rails
Ruby and Docker on RailsRuby and Docker on Rails
Ruby and Docker on Rails
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Containers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to KubernetesContainers and Cloud: From LXC to Docker to Kubernetes
Containers and Cloud: From LXC to Docker to Kubernetes
 

Similar to Docker introduction for Carbon IT

Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
TheFamily
 
Introduction to Docker storage, volume and image
Introduction to Docker storage, volume and imageIntroduction to Docker storage, volume and image
Introduction to Docker storage, volume and image
ejlp12
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
Yusuf Hadiwinata Sutandar
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Docker Fundamentals
Docker FundamentalsDocker Fundamentals
Docker Fundamentals
Anshul Patel
 
Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1
Binary Studio
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar
 
Docker+java
Docker+javaDocker+java
Docker+java
DPC Consulting Ltd
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel
 
Introduction to containers a practical session using core os and docker
Introduction to containers  a practical session using core os and dockerIntroduction to containers  a practical session using core os and docker
Introduction to containers a practical session using core os and docker
Alessandro Martellone
 
Hello, Docker!
Hello, Docker!Hello, Docker!
Hello, Docker!
Michael Kwesi Essandoh
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
Jérôme Petazzoni
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015
Mustafa AKIN
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
WSO2
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne
 

Similar to Docker introduction for Carbon IT (20)

Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
Introduction to Docker storage, volume and image
Introduction to Docker storage, volume and imageIntroduction to Docker storage, volume and image
Introduction to Docker storage, volume and image
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Docker Fundamentals
Docker FundamentalsDocker Fundamentals
Docker Fundamentals
 
Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
Introduction to containers a practical session using core os and docker
Introduction to containers  a practical session using core os and dockerIntroduction to containers  a practical session using core os and docker
Introduction to containers a practical session using core os and docker
 
Hello, Docker!
Hello, Docker!Hello, Docker!
Hello, Docker!
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
Docker_AGH_v0.1.3
Docker_AGH_v0.1.3Docker_AGH_v0.1.3
Docker_AGH_v0.1.3
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
 

More from yannick grenzinger

Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytech
yannick grenzinger
 
Tour d'horizon des tests
Tour d'horizon des testsTour d'horizon des tests
Tour d'horizon des tests
yannick grenzinger
 
Microservices depuis les tranchées
Microservices depuis les tranchéesMicroservices depuis les tranchées
Microservices depuis les tranchées
yannick grenzinger
 
From Scrum To Flow
From Scrum To FlowFrom Scrum To Flow
From Scrum To Flow
yannick grenzinger
 
Changements - psychologie systémique
Changements - psychologie systémiqueChangements - psychologie systémique
Changements - psychologie systémique
yannick grenzinger
 
Spirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsSpirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisations
yannick grenzinger
 
Paradigms programming from functional to multi-agent dataflow
Paradigms programming  from functional to multi-agent dataflowParadigms programming  from functional to multi-agent dataflow
Paradigms programming from functional to multi-agent dataflow
yannick grenzinger
 
Guerilla DDD
Guerilla DDDGuerilla DDD
Guerilla DDD
yannick grenzinger
 
Le design du code de tous les jours
Le design du code  de tous les joursLe design du code  de tous les jours
Le design du code de tous les jours
yannick grenzinger
 
Spirale Dynamique et Organisations
Spirale Dynamique et OrganisationsSpirale Dynamique et Organisations
Spirale Dynamique et Organisations
yannick grenzinger
 
BBL - Lean Startup
BBL - Lean StartupBBL - Lean Startup
BBL - Lean Startup
yannick grenzinger
 
Construisons des organisations adaptées au 21ème siècle
 Construisons des organisations adaptées au 21ème siècle Construisons des organisations adaptées au 21ème siècle
Construisons des organisations adaptées au 21ème siècle
yannick grenzinger
 
Coding fast and slow
Coding fast and slowCoding fast and slow
Coding fast and slow
yannick grenzinger
 
Liberez vos developpeurs
Liberez vos developpeursLiberez vos developpeurs
Liberez vos developpeurs
yannick grenzinger
 
Devoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and SlowDevoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and Slow
yannick grenzinger
 
Introduction à la Gamification
Introduction à la GamificationIntroduction à la Gamification
Introduction à la Gamification
yannick grenzinger
 
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
yannick grenzinger
 
Creons des produits exceptionnels
Creons des produits exceptionnelsCreons des produits exceptionnels
Creons des produits exceptionnelsyannick grenzinger
 

More from yannick grenzinger (18)

Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytech
 
Tour d'horizon des tests
Tour d'horizon des testsTour d'horizon des tests
Tour d'horizon des tests
 
Microservices depuis les tranchées
Microservices depuis les tranchéesMicroservices depuis les tranchées
Microservices depuis les tranchées
 
From Scrum To Flow
From Scrum To FlowFrom Scrum To Flow
From Scrum To Flow
 
Changements - psychologie systémique
Changements - psychologie systémiqueChangements - psychologie systémique
Changements - psychologie systémique
 
Spirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsSpirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisations
 
Paradigms programming from functional to multi-agent dataflow
Paradigms programming  from functional to multi-agent dataflowParadigms programming  from functional to multi-agent dataflow
Paradigms programming from functional to multi-agent dataflow
 
Guerilla DDD
Guerilla DDDGuerilla DDD
Guerilla DDD
 
Le design du code de tous les jours
Le design du code  de tous les joursLe design du code  de tous les jours
Le design du code de tous les jours
 
Spirale Dynamique et Organisations
Spirale Dynamique et OrganisationsSpirale Dynamique et Organisations
Spirale Dynamique et Organisations
 
BBL - Lean Startup
BBL - Lean StartupBBL - Lean Startup
BBL - Lean Startup
 
Construisons des organisations adaptées au 21ème siècle
 Construisons des organisations adaptées au 21ème siècle Construisons des organisations adaptées au 21ème siècle
Construisons des organisations adaptées au 21ème siècle
 
Coding fast and slow
Coding fast and slowCoding fast and slow
Coding fast and slow
 
Liberez vos developpeurs
Liberez vos developpeursLiberez vos developpeurs
Liberez vos developpeurs
 
Devoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and SlowDevoxx france 2015 - Coding Fast and Slow
Devoxx france 2015 - Coding Fast and Slow
 
Introduction à la Gamification
Introduction à la GamificationIntroduction à la Gamification
Introduction à la Gamification
 
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
Apprendre à apprendre pour innover, s'adapter et surtout survivre au 21ème si...
 
Creons des produits exceptionnels
Creons des produits exceptionnelsCreons des produits exceptionnels
Creons des produits exceptionnels
 

Recently uploaded

SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 

Recently uploaded (20)

SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

Docker introduction for Carbon IT

  • 1. Introduction to Docker The lightweight, portable, flexible containers
  • 2.
  • 3. A bit of history ● FreeBSD Jails circa 2000 ● Solaris Zones circa 2004 ● LXC (Google) circa 2008 ● Systemd-nspawn circa 2010-2013 ● Docker circa 2013 ○ built on LXC ○ moved to libcontainer (March 2014) ○ appC (CoreOS) announced (December 2014) ○ Open Containers standard for convergence with Docker Announced (June 2015) ○ moved to runC (OCF compliant) (July 2015)
  • 4. So what is a container, technically ? ● Containers share the host kernel ● Containers use the kernel ability to group processes for resource control ● Containers ensure isolation through namespaces ● Containers feel like lightweight VMs (lower footprint, faster) Components of a container ecosystem include: ● Runtime ● Image distribution ● Tooling
  • 5. But we have Virtual Machine ! ● Performance cost ? Not so much ● Less efficient. On the same bare-metal server, many duplicate instances of the same OS and many redundant boot volumes ● Slower to start and stop ● Less DevOps friendly ● However more secure and easier to constrain (important for a public cloud operator) Good slides comparing Containers vs VMs
  • 6. Overlook of Docker Containers vs Virtual Machines
  • 7. Two building blocks for containers Linux namespaces, originally developed by IBM, deal with resource isolation (Users, PID, Mount, Network...)for a single process. Linux cgroups, originally developed by Google, allow processes to be organized into hierarchical groups whose usage of various types of resources (CPU, memory..) can then be limited and monitored.
  • 8. Image & Layers At start, a container prepares rootfs & uses chroot for the container filesystem isolation Docker uses Union File Systems to speed up and reduce size which provide: ● Layering ● Copy-On-Write ● Caching ● Diffing
  • 9. Diving into docker Mainly: ● Ecosystem & architecture ● Image DSL ● Container lifecycle ● Networking ● Volume
  • 12. Docker - Image DSL example FROM ubuntu RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list RUN apt-get update && apt-get install -y mongodb-10gen RUN mkdir -p /data/db EXPOSE 27017 CMD ["--port 27017"] ENTRYPOINT usr/bin/mongod
  • 14. Networking Linux Bridge (for creating virtual switches) together with IPTables functionality to create isolated container networks and expose container ports. Also easy communication with internal DNS between container in the same network
  • 15. Data Volumes are stored in a part of the host filesystem which is managed by Docker (/var/lib/docker/volumes/ on Linux). Bind mounts may be stored anywhere on the host system. tmpfs mounts are stored in the host system’s memory only.
  • 16. Links ● https://www.infoworld.com/article/3204171/linux/what-is-d ocker-linux-containers-explained.html ● http://docker-saigon.github.io/post/Docker-Internals/ ● https://www.youtube.com/watch?v=sK5i-N34im8&t=3s ● https://github.com/wsargent/docker-cheat-sheet ● https://dmitryfrank.com/projects/docker-quick-ref ● https://veggiemonk.github.io/awesome-docker/