Docker - Conteneurisation
Virtualisation
Il existe principalement deux types de virtualisation, la lourde et la légère. Il est important de comprendre la différence entre les deux afin de saisir comment Docker fonctionne réellement.
Lourde
Lorsque vous utilisez des machines virtuelles, vous effectuez une virtualisation lourde, ce qui signifie que vous créez un système autonome à l'intérieur du système hôte, lui attribuant ainsi ses propres ressources.
Donc, une isolation totale est réalisée, ce qui présente à la fois des contraintes et de nombreux avantages. En ce qui concerne les inconvénients, voici quelques exemples :
- Les machines virtuelles nécessitent un temps de démarrage plus long ;
- Étant donné que des ressources doivent être allouées aux machines virtuelles, elles réservent ces ressources sur le système hôte même si elles ne les utilisent pas entièrement.
Voici une liste d'avantages de faire de la virtualisation lourde :
- Les machines virtuelles sont totalement isolée du système d'hôte ;
- Les ressources attribués lui sont totalement reréservées ;
- La possibilité d'installer différents système d'exploitation.
Afin de résoudre les contraintes liées aux applications qui n'utilisent pas toutes les ressources mises à leur disposition, un nouveau système de virtualisation plus léger a été créé : les conteneurs.
Légère
Lorsque vous utilisez des conteneurs, vous optez pour une virtualisation légère, car ils ne virtualisent pas les ressources, mais se concentrent plutôt sur l'isolation des processus. Les conteneurs partagent donc les ressources avec le système hôte. Docker utilise donc ce système de virtualisation.
Un conteneur est un processus ou un ensemble de processus isolé du système. Ce concept existait déjà avant Docker avec des systèmes telles que OpenVZ ou LXC. Cependant, avec ces systèmes de virtualisation, partagent le même noyau Linux, ce qui signifie que les systèmes Windows ou BSD ne sont pas directement compatibles.

