Les containers - ii02735/learn-k8 GitHub Wiki
Les containers
La technologie la plus répandue en termes d'utilisation de containers est Docker. Mais d'autres technologies font aujourd'hui concurrence à Docker, comme Podman ou Rancher.
Le principal intérêt des containers est le principe d'isolation :
- Pas de prise de tête avec l'OS
- Versions figées, pas de mise à jour automatique risquant de créer des effets de bord
- Onboarding facilité
- Autant d'applications que de containers
- Largement moins gourmand qu'un hyperviseur (pour les VMs)
Tous les containers utilisent les ressources du noyau de l'OS.
[!WARNING] Le noyau Windows étant construit différemment de celui de Linux, il n'est pas possible de lancer des containers Windows depuis un système Linux.
Une technologie qui date
La technologie des containers remonte à plusieurs décennies : LXC est utilisé par Linux, mais il est de bas niveau et n'est pas facilement exploitable par l'utilisateur. C'est pour cela que d'autres technologies, comme Docker, ont émergé.
Containers en production
Il est possible de faire tourner Docker sur son PC dans un contexte de développement local.

Mais les problématiques d'un environnement en production sont bien différentes, et l'on y rencontre :
- Un nombre important d'utilisateurs de l'application (dépassant les milliers)
- Plusieurs containers qui doivent communiquer entre eux
- L'importance de la disponibilité : en production, l'environnement doit fonctionner 24h/24
- etc.

Il ne suffit donc pas seulement de faire tourner Docker en production pour couvrir ces contraintes. Il faut utiliser un système par dessus : l'orchestration de containers.