SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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/

Contenu connexe

Tendances

Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelinesDevOps.com
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with dockerSagar 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 introductiondotCloud
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAlan 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 IntroductionSparkbit
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao 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 DockerAniekan Akpaffiong
 
Ruby and Docker on Rails
Ruby and Docker on RailsRuby and Docker on Rails
Ruby and Docker on RailsMuriel Salvan
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc 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 KernelDocker, 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 KubernetesShreyas MM
 

Tendances (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
 

Similaire à Docker introduction for Carbon IT

Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
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 PetazzoniTheFamily
 
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" EditionJé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 imageejlp12
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Docker Fundamentals
Docker FundamentalsDocker Fundamentals
Docker FundamentalsAnshul Patel
 
Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Binary Studio
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetesKrishna-Kumar
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power SystemsCesar 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 dockerAlessandro Martellone
 
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 AngelesJé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 YorkJérôme Petazzoni
 
Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Docker - Ankara JUG, Nisan 2015
Docker - Ankara JUG, Nisan 2015Mustafa 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 VirtualizationImesh Gunaratne
 

Similaire à 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
 
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, 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
 
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
 

Plus de yannick grenzinger

Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytechyannick grenzinger
 
Microservices depuis les tranchées
Microservices depuis les tranchéesMicroservices depuis les tranchées
Microservices depuis les tranchéesyannick grenzinger
 
Changements - psychologie systémique
Changements - psychologie systémiqueChangements - psychologie systémique
Changements - psychologie systémiqueyannick grenzinger
 
Spirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsSpirale dynamique - Mieux comprendre les organisations
Spirale dynamique - Mieux comprendre les organisationsyannick 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 dataflowyannick 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 joursyannick grenzinger
 
Spirale Dynamique et Organisations
Spirale Dynamique et OrganisationsSpirale Dynamique et Organisations
Spirale Dynamique et Organisationsyannick 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ècleyannick 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 Slowyannick grenzinger
 
Introduction à la Gamification
Introduction à la GamificationIntroduction à la Gamification
Introduction à la Gamificationyannick 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
 

Plus de 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
 

Dernier

WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 

Dernier (20)

WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

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/