graph TB H[Hyperviseur] --> V[Machines Virtuelles] V --> R[Ressources Virtuelles] R --> CPU[vCPU] R --> RAM[vRAM] R --> DISK[vDisk] R --> NET[vNIC]
Concepts et Historique de la Conteneurisation
2026-01-28
Jupyter Kernel: zsh
đ„ïž Env Ubuntu 24.04.3 LTS / x86_64 âą đł Docker Client 29.1.5 / Server 29.1.5 âą đż Git Branch @ 7b914bd
Ce support a été généré par Quarto : les cellules sont exécutées par le noyau indiqué lors du rendu.
Certaines parties ont Ă©tĂ© rĂ©digĂ©es avec lâassistance dâun modĂšle de langage ; le contenu a Ă©tĂ© relu et validĂ© par lâauteur.
Ă lâissue de ce cours, vous devez ĂȘtre capables de :
- Comprendre lâĂ©volution Physique â VM â Conteneurs
- Expliquer la différence entre machine virtuelle et conteneur
- Utiliser une image pour créer un conteneur
- Créer une image simple avec un Dockerfile
Ce cours est une introduction conceptuelle. Les pratiques et usages avancés seront abordés dans les TP et cours suivants.
Objectif Comprendre ce qui est virtualisé, partagé ou isolé.
Astuce
Toute application passe par le noyau pour accéder aux ressources.
La virtualisation répond à deux problÚmes simples :
Ăre Physique (1990â2000)
Infrastructure
Contraintes
Ăre Virtuelle (2000â2010)
Technologies
Bénéfices
graph TB H[Hyperviseur] --> V[Machines Virtuelles] V --> R[Ressources Virtuelles] R --> CPU[vCPU] R --> RAM[vRAM] R --> DISK[vDisk] R --> NET[vNIC]
Astuce
Une machine virtuelle embarque un OS complet.
CPU : Intel VT-x / AMD-V
Mémoire : EPT / NPT
I/O : SR-IOV, NVMe-oF
Stockage : VMDK, QCOW2, SAN
Type 1 (Bare Metal) : ex. VMware ESX
Type 2 (Hosted) : ex. VirtualBox, VMware Workstation
graph TD HW[Hardware] --> ESX[Hyperviseur] ESX --> VM1[VM Linux] ESX --> VM2[VM Linux] ESX --> VM3[VM Windows]
Avantages
Inconvénients
Les conteneurs ne virtualisent pas une machine, mais isolent des processus.
Namespaces
cgroups
Astuce
Un conteneur est une illusion dâisolation contrĂŽlĂ©e par le noyau.
timeline 2000 : FreeBSD Jails : premiers conteneurs OS-level 2007 : cgroups et Namespaces Linux : bases des conteneurs 2008 : LXC : premiers conteneurs Linux 2013 : Docker : popularisation des conteneurs 2017 : Kubernetes : orchestration 2020 : OCI Standards : image et runtime 2024 : CRI-O, Podman : alternatives Ă Docker
| CritĂšre | VM | Conteneur |
|---|---|---|
| Isolation | âMatĂ©rielleâ | Noyau |
| OS | Complet | Partagé |
| Démarrage | Minutes | Secondes |
| Taille | Go | Mo |
| Usage | Legacy | Cloud-native |
Astuce
VM = virtualisation de machine Conteneur = virtualisation de processus
Les conteneurs sont une approche dâisolation de processus plutĂŽt quâune virtualisation de machine.
Isolation Chaque conteneur a son propre espace de processus, réseau et systÚme de fichiers.
LĂ©gĂšretĂ© Pas dâOS complet : seulement les dĂ©pendances nĂ©cessaires Ă lâapplication.
ImmutabilitĂ© Une image est un artefact immuable : le mĂȘme contenu donne le mĂȘme conteneur.
ĂphĂ©mĂ©ritĂ© Un conteneur est conçu pour ĂȘtre dĂ©marrĂ©, arrĂȘtĂ©, dĂ©truit rapidement.
Portabilité Une image fonctionne de maniÚre identique partout (dev, test, prod, cloud).
Un conteneur est une unité de déploiement : un processus principal isolé, reproductible, portable et facilement orchestrable.
Docker Inc. fondé en 2010
Docker est une plateforme complĂšte qui popularise lâusage des conteneurs
Il fournit :
Avertissement
Docker nâest pas le conteneur Docker est un ensemble dâoutils (maintenant basĂ© sur des standards) .
Standardisation en 2015 (OCI)
Alternatives Ă Docker
Image
Conteneur
docker runAstuce
Une image nâest pas une VM Elle contient uniquement ce qui est nĂ©cessaire Ă lâapplication.
Docker Compose
Kubernetes
Docker Compose â Kubernetes âen petitâ
Astuce
Un conteneur nâest pas un mini-serveur Câest un processus isolĂ© et maĂźtrisĂ©
E. Bruno - Introduction aux Conteneurs