SlideShare une entreprise Scribd logo
docker run florian/presentation:A4
Docker et le monde des containers logiciels (v2)
Lundi 24 Juin 2019
1
Florian Bobinid $PRESENTER
whoami
A4 - Futur ingénieur systèmes Linux / DevOps
2
FROM C’est quoi Docker ? Son impact dans le monde IT ?
RUN C’est quoi un container logiciel ? Comment ça marche ?
RUN Le fonctionnement de Docker (client, images, COW, volumes)
RUN Et la virtualisation alors ?
ENV conclusion=”Les containers aujourd’hui, l’écosystème et le futur”
Introduction
Dive into
containers
Le Dockerfile de la présentation
Conclusion
3
La définition de
base
Histoire
C’est quoi Docker ?
Présentation globale
Docker est un outil qui peut empaqueter une application et ses
dépendances dans un conteneur isolé, qui pourra être exécuté sur
n'importe quel serveur - 451 Research
▪ Silicon Valley : entreprise française - dotCloud (PaaS)
▪ Fondée par Solomon Hykes (Epitech Lille)
▪ Projet Docker devenu Open-Source en 2013
▪ Devenue Docker Inc. depuis 2013
La technologie
■ Utilise un ensemble de technologies open-source
■ Développée en Golang (Google)
■ Historiquement : utilisait une API au dessus de LXC
■ Maintenant : libcontainer => runC (standardisé)
■ Docker est désormais un standard dans le monde des containers
(Open Container Initiative)
C’est quoi Docker ? | Dive into containers | Conclusion
4
C’est quoi Docker ?
Son impact dans le monde IT
C’est quoi Docker ? | Dive into containers | Conclusion
5
C’est quoi Docker ?
L’impact dans le monde IT
C’est quoi Docker ? | Dive into containers | Conclusion
6
Dive into containers
C’est quoi Docker ? | Dive into containers | Conclusion
7
Analogie
Dive into containers
C’est quoi un container ?
Même principe que les conteneurs intermodaux
▪ XVIIe siècle : Volonté de standardiser le transport des marchandises
▪ Boîte en bois de taille uniforme pour transporter le charbon
(Angleterre)
▪ 1933 : standardisation des fameuses boîtes métalliques
▪ Transporteur : s’occupe simplement de charger les conteneurs sur le
bateau (gain de temps, d’argent, automatisation)
Dans le monde
I.T
C’est quoi Docker ? | Dive into containers | Conclusion
8
Disclaimer
Dive into containers
C’est quoi un container ?
En fait un container logiciel n’existe pas !
Assemblage de primitives systèmes/technologies dans le noyau Linux
=> renforcer l’isolation entre les processus sur le système
C’est quoi alors ?
C’est quoi Docker ? | Dive into containers | Conclusion
9
Système
Dive into containers
C’est quoi un container ?
Ensemble de mécanismes intimement liés au noyau du système
=> les containers Linux ne fonctionnent que sur Linux
=> les containers Windows ne fonctionnent que sur Windows
Histoire
▪ 1979 (UNIX 7) : notions de container avec chroot
▪ 2000 : BSD Jail
▪ 2004 : Zones Solaris
▪ 2006 : OpenVZ
▪ 2008 : LXC (Canonical)
▪ 2013 : Docker
Inconvénient Difficile à utiliser et à administrer
Apports de
Docker
Apporte un ensemble d’outils facile à utiliser en CLI + images
composables et réutilisables + registry (Docker Hub)
C’est quoi Docker ? | Dive into containers | Conclusion
10
Dive into containers
Comment ça marche : les Linux Namespaces
C’est quoi Docker ? | Dive into containers | Conclusion
11
Dive into containers
Comment ça marche : les Linux Namespaces
Noyau
Matériel
ProcessusProcessus Processus
Namespaces
mount
user
ipc
net
pid
uts
cgroup
s
C’est quoi Docker ? | Dive into containers | Conclusion
12
Dive into containers
Comment ça marche : les Linux Namespaces (PID)
C’est quoi Docker ? | Dive into containers | Conclusion
13
Dive into containers
Comment ça marche : les Linux Namespaces (mount)
C’est quoi Docker ? | Dive into containers | Conclusion
14
Dive into containers
Comment ça marche : les Linux Namespaces (net)
C’est quoi Docker ? | Dive into containers | Conclusion
15
Dive into containers
Comment ça marche : les Control Groups
Noyau
Matériel
ProcessusProcessus Processus
Namespacescontrol groups
C’est quoi Docker ? | Dive into containers | Conclusion
16
Dive into containers
Comment ça marche : Seccomp et SELinux/AppArmor
Noyau
Matériel
ProcessusProcessus
Processus
Namespacescontrol groups
seccomp
SELinux/AppArmor
C’est quoi Docker ? | Dive into containers | Conclusion
17
Dive into containers
Fonctionnement de Docker : Architecture
C’est quoi Docker ? | Dive into containers | Conclusion
18
Dive into containers
Fonctionnement de Docker : les images
Ce n’est pas un OS Linux !
=> Ensemble de binaires propres à une distribution Linux
C’est quoi Docker ? | Dive into containers | Conclusion
19
Dive into containers
Fonctionnement de Docker : le COW et les volumes
C’est quoi Docker ? | Dive into containers | Conclusion
Copy-on-write Volumes
20
Dive into containers
Et la virtualisation alors ? VM vs containers
C’est quoi Docker ? | Dive into containers | Conclusion
21
VM légère ?
Dive into containers
Et la virtualisation alors ? VM vs containers
En profondeur
Ressemble à une VM légère vue de loin :
▪ Connexion SSH (pas bien) ou shell interactif possible (c’est mieux)
▪ Voit ses propres processus uniquement
▪ Dispose d’une interface réseau
▪ Possibilité d’installer des packages
▪ Possibilité de démarrer des services
Ce n’est absolument pas une VM !
▪ Utilise le noyau (+modules) de l’hôte
▪ Ne peut pas booter un OS différent de l’hôte
▪ Processus du container visibles depuis l’hôte
▪ Aucune conscience des limitations de ressources par les cgroups
(attention à l’OOM Killer)
=> L’isolation est moindre !
DevOps
▪ Changement d’approche : concept du “Pets vs. Cattle”
▪ VMs : votre chat/chien - containers : du bétail
C’est quoi Docker ? | Dive into containers | Conclusion
22
Dive into containers
Et la virtualisation alors ? VM vs containers
C’est quoi Docker ? | Dive into containers | Conclusion
VMs
Containers
23
Dive into containers
C’est quoi Docker ? | Dive into containers | Conclusion
24
Conclusion
C’est quoi Docker ? | Dive into containers | Conclusion
25
Docker
Conclusion
Les containers aujourd’hui, l’écosystème et le futur
Disponible sur Linux, Windows (natif et non natif) et MacOS (non natif)
=> Bientôt sur Windows Subsystem for Linux 2 (micro-vm + support Docker)
Ecosystème
Autres
implémentations
▪ Titanesque : nombreux projets autour de Docker et Kubernetes
▪ Side-projects et outils tiers : moby project, RancherLabs
▪ Utilisation massive dans le cloud : AWS, Azure, GCP, Alibaba Cloud...
▪ Orchestration : Google Kubernetes, Red Hat OpenShift
▪ LXC + LXD (facilite l’utilisation de LXC)
▪ Red Hat Podman : container runtime par défaut sur RHEL 8
▪ CRI-O : container runtime pour Kubernetes
▪ CoreOS rkt, systemd-nspawn, OpenVZ...
Futur
C’est quoi Docker ? | Dive into containers | Conclusion
▪ Gros travaux autour de l’orchestration (écosystème Kubernetes)
▪ Unikernels ? (MirageOS + Xen)
26
Conclusion
Les containers aujourd’hui, l’écosystème et le futur
C’est quoi Docker ? | Dive into containers | Conclusion
27
LISE
Conclusion
Si vous en voulez davantage !
Conférences A5 en Janvier 2019 : conférence autour des containers
(moi-même)
Veille
technologique
▪ Conférences sur le web (YouTube) : Devoxx, Breizh Camp, GDG
France, DockerCon, Paris Container Day
▪ Votre curiosité…et surtout, expérimentez !
C’est quoi Docker ? | Dive into containers | Conclusion
28
Conclusion
Si vous en voulez davantage !
C’est quoi Docker ? | Dive into containers | Conclusion
Chaine YouTube : Devoxx FR
29
Conclusion
Si vous en voulez davantage !
C’est quoi Docker ? | Dive into containers | Conclusion
Chaine YouTube : Devoxx FR
30
Conclusion
Si vous en voulez davantage !
C’est quoi Docker ? | Dive into containers | Conclusion
Chaine YouTube : DockerCon
31
Conclusion
Si vous en voulez davantage !
C’est quoi Docker ? | Dive into containers | Conclusion
Chaine YouTube : VMware Cloud Native Apps
32
Conclusion
Si vous en voulez davantage !
C’est quoi Docker ? | Dive into containers | Conclusion
33
Merci de votre attention !

Contenu connexe

Tendances

Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Rishabh Indoria
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
Nicolas Hennion
 
Challenges of Kubernetes On-premise Deployment
Challenges of Kubernetes On-premise DeploymentChallenges of Kubernetes On-premise Deployment
Challenges of Kubernetes On-premise Deployment
Vietnam Open Infrastructure User Group
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Araf Karsh Hamid
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
Joonathan Mägi
 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration PlatformKubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
 
Docker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopDocker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshop
Sathish VJ
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
Amazon Web Services
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
Winton Winton
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security Journey
Jerry Jalava
 
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Edureka!
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
Docker, Inc.
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
DevOps.com
 

Tendances (20)

Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Challenges of Kubernetes On-premise Deployment
Challenges of Kubernetes On-premise DeploymentChallenges of Kubernetes On-premise Deployment
Challenges of Kubernetes On-premise Deployment
 
Docker
DockerDocker
Docker
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Intro to Kubernetes
Intro to KubernetesIntro to Kubernetes
Intro to Kubernetes
 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration PlatformKubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
 
Docker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopDocker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshop
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security Journey
 
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
 

Similaire à Vulgarisation de la technologie de containers Docker

Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
Aymen EL Amri
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
ALTER WAY
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
Abderrahmane Mechri
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Microsoft
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
AbdellahELMAMOUN
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Arthur Lutz
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shift
Arthur Lutz
 
Be zend docker
Be zend dockerBe zend docker
Be zend docker
Kevin Verschaeve
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
Kiwi Backup
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
adri1s
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
Alexis Ducastel
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
Nizar GARRACHE
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
amine17157
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
Jaouad Assabbour
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
Laurent Tardif
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
Zenika
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
Julien Chable
 

Similaire à Vulgarisation de la technologie de containers Docker (20)

Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shift
 
Be zend docker
Be zend dockerBe zend docker
Be zend docker
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
 

Vulgarisation de la technologie de containers Docker

  • 1. docker run florian/presentation:A4 Docker et le monde des containers logiciels (v2) Lundi 24 Juin 2019
  • 2. 1 Florian Bobinid $PRESENTER whoami A4 - Futur ingénieur systèmes Linux / DevOps
  • 3. 2 FROM C’est quoi Docker ? Son impact dans le monde IT ? RUN C’est quoi un container logiciel ? Comment ça marche ? RUN Le fonctionnement de Docker (client, images, COW, volumes) RUN Et la virtualisation alors ? ENV conclusion=”Les containers aujourd’hui, l’écosystème et le futur” Introduction Dive into containers Le Dockerfile de la présentation Conclusion
  • 4. 3 La définition de base Histoire C’est quoi Docker ? Présentation globale Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur - 451 Research ▪ Silicon Valley : entreprise française - dotCloud (PaaS) ▪ Fondée par Solomon Hykes (Epitech Lille) ▪ Projet Docker devenu Open-Source en 2013 ▪ Devenue Docker Inc. depuis 2013 La technologie ■ Utilise un ensemble de technologies open-source ■ Développée en Golang (Google) ■ Historiquement : utilisait une API au dessus de LXC ■ Maintenant : libcontainer => runC (standardisé) ■ Docker est désormais un standard dans le monde des containers (Open Container Initiative) C’est quoi Docker ? | Dive into containers | Conclusion
  • 5. 4 C’est quoi Docker ? Son impact dans le monde IT C’est quoi Docker ? | Dive into containers | Conclusion
  • 6. 5 C’est quoi Docker ? L’impact dans le monde IT C’est quoi Docker ? | Dive into containers | Conclusion
  • 7. 6 Dive into containers C’est quoi Docker ? | Dive into containers | Conclusion
  • 8. 7 Analogie Dive into containers C’est quoi un container ? Même principe que les conteneurs intermodaux ▪ XVIIe siècle : Volonté de standardiser le transport des marchandises ▪ Boîte en bois de taille uniforme pour transporter le charbon (Angleterre) ▪ 1933 : standardisation des fameuses boîtes métalliques ▪ Transporteur : s’occupe simplement de charger les conteneurs sur le bateau (gain de temps, d’argent, automatisation) Dans le monde I.T C’est quoi Docker ? | Dive into containers | Conclusion
  • 9. 8 Disclaimer Dive into containers C’est quoi un container ? En fait un container logiciel n’existe pas ! Assemblage de primitives systèmes/technologies dans le noyau Linux => renforcer l’isolation entre les processus sur le système C’est quoi alors ? C’est quoi Docker ? | Dive into containers | Conclusion
  • 10. 9 Système Dive into containers C’est quoi un container ? Ensemble de mécanismes intimement liés au noyau du système => les containers Linux ne fonctionnent que sur Linux => les containers Windows ne fonctionnent que sur Windows Histoire ▪ 1979 (UNIX 7) : notions de container avec chroot ▪ 2000 : BSD Jail ▪ 2004 : Zones Solaris ▪ 2006 : OpenVZ ▪ 2008 : LXC (Canonical) ▪ 2013 : Docker Inconvénient Difficile à utiliser et à administrer Apports de Docker Apporte un ensemble d’outils facile à utiliser en CLI + images composables et réutilisables + registry (Docker Hub) C’est quoi Docker ? | Dive into containers | Conclusion
  • 11. 10 Dive into containers Comment ça marche : les Linux Namespaces C’est quoi Docker ? | Dive into containers | Conclusion
  • 12. 11 Dive into containers Comment ça marche : les Linux Namespaces Noyau Matériel ProcessusProcessus Processus Namespaces mount user ipc net pid uts cgroup s C’est quoi Docker ? | Dive into containers | Conclusion
  • 13. 12 Dive into containers Comment ça marche : les Linux Namespaces (PID) C’est quoi Docker ? | Dive into containers | Conclusion
  • 14. 13 Dive into containers Comment ça marche : les Linux Namespaces (mount) C’est quoi Docker ? | Dive into containers | Conclusion
  • 15. 14 Dive into containers Comment ça marche : les Linux Namespaces (net) C’est quoi Docker ? | Dive into containers | Conclusion
  • 16. 15 Dive into containers Comment ça marche : les Control Groups Noyau Matériel ProcessusProcessus Processus Namespacescontrol groups C’est quoi Docker ? | Dive into containers | Conclusion
  • 17. 16 Dive into containers Comment ça marche : Seccomp et SELinux/AppArmor Noyau Matériel ProcessusProcessus Processus Namespacescontrol groups seccomp SELinux/AppArmor C’est quoi Docker ? | Dive into containers | Conclusion
  • 18. 17 Dive into containers Fonctionnement de Docker : Architecture C’est quoi Docker ? | Dive into containers | Conclusion
  • 19. 18 Dive into containers Fonctionnement de Docker : les images Ce n’est pas un OS Linux ! => Ensemble de binaires propres à une distribution Linux C’est quoi Docker ? | Dive into containers | Conclusion
  • 20. 19 Dive into containers Fonctionnement de Docker : le COW et les volumes C’est quoi Docker ? | Dive into containers | Conclusion Copy-on-write Volumes
  • 21. 20 Dive into containers Et la virtualisation alors ? VM vs containers C’est quoi Docker ? | Dive into containers | Conclusion
  • 22. 21 VM légère ? Dive into containers Et la virtualisation alors ? VM vs containers En profondeur Ressemble à une VM légère vue de loin : ▪ Connexion SSH (pas bien) ou shell interactif possible (c’est mieux) ▪ Voit ses propres processus uniquement ▪ Dispose d’une interface réseau ▪ Possibilité d’installer des packages ▪ Possibilité de démarrer des services Ce n’est absolument pas une VM ! ▪ Utilise le noyau (+modules) de l’hôte ▪ Ne peut pas booter un OS différent de l’hôte ▪ Processus du container visibles depuis l’hôte ▪ Aucune conscience des limitations de ressources par les cgroups (attention à l’OOM Killer) => L’isolation est moindre ! DevOps ▪ Changement d’approche : concept du “Pets vs. Cattle” ▪ VMs : votre chat/chien - containers : du bétail C’est quoi Docker ? | Dive into containers | Conclusion
  • 23. 22 Dive into containers Et la virtualisation alors ? VM vs containers C’est quoi Docker ? | Dive into containers | Conclusion VMs Containers
  • 24. 23 Dive into containers C’est quoi Docker ? | Dive into containers | Conclusion
  • 25. 24 Conclusion C’est quoi Docker ? | Dive into containers | Conclusion
  • 26. 25 Docker Conclusion Les containers aujourd’hui, l’écosystème et le futur Disponible sur Linux, Windows (natif et non natif) et MacOS (non natif) => Bientôt sur Windows Subsystem for Linux 2 (micro-vm + support Docker) Ecosystème Autres implémentations ▪ Titanesque : nombreux projets autour de Docker et Kubernetes ▪ Side-projects et outils tiers : moby project, RancherLabs ▪ Utilisation massive dans le cloud : AWS, Azure, GCP, Alibaba Cloud... ▪ Orchestration : Google Kubernetes, Red Hat OpenShift ▪ LXC + LXD (facilite l’utilisation de LXC) ▪ Red Hat Podman : container runtime par défaut sur RHEL 8 ▪ CRI-O : container runtime pour Kubernetes ▪ CoreOS rkt, systemd-nspawn, OpenVZ... Futur C’est quoi Docker ? | Dive into containers | Conclusion ▪ Gros travaux autour de l’orchestration (écosystème Kubernetes) ▪ Unikernels ? (MirageOS + Xen)
  • 27. 26 Conclusion Les containers aujourd’hui, l’écosystème et le futur C’est quoi Docker ? | Dive into containers | Conclusion
  • 28. 27 LISE Conclusion Si vous en voulez davantage ! Conférences A5 en Janvier 2019 : conférence autour des containers (moi-même) Veille technologique ▪ Conférences sur le web (YouTube) : Devoxx, Breizh Camp, GDG France, DockerCon, Paris Container Day ▪ Votre curiosité…et surtout, expérimentez ! C’est quoi Docker ? | Dive into containers | Conclusion
  • 29. 28 Conclusion Si vous en voulez davantage ! C’est quoi Docker ? | Dive into containers | Conclusion Chaine YouTube : Devoxx FR
  • 30. 29 Conclusion Si vous en voulez davantage ! C’est quoi Docker ? | Dive into containers | Conclusion Chaine YouTube : Devoxx FR
  • 31. 30 Conclusion Si vous en voulez davantage ! C’est quoi Docker ? | Dive into containers | Conclusion Chaine YouTube : DockerCon
  • 32. 31 Conclusion Si vous en voulez davantage ! C’est quoi Docker ? | Dive into containers | Conclusion Chaine YouTube : VMware Cloud Native Apps
  • 33. 32 Conclusion Si vous en voulez davantage ! C’est quoi Docker ? | Dive into containers | Conclusion
  • 34. 33 Merci de votre attention !