Découverte de Docker
Notions théoriques
C'est quoi Docker ?
Docker est une plateforme qui permet de mettre une application dans un conteneur.
Un conteneur est comme une mini VM qui contient un seul service.
Un conteneur permet d'isoler chaque service, dans leur conteneur dédié :
- le serveur Web,
- la base de données,
- etc.
Chaque conteneur peut être relié aux autres par des réseaux virtuels.
Il est possible de monter (partager) des volumes de disque de la machine hôte dans un conteneur.
Un grand avantage de Docker est la possibilité d'empaqueter chaque conteneur sous la forme d'une image.
L'image Docker peut être stocker localement ou sur le Docker Hub.
Le Docker Hub est un site Web où de nombreuses images sont publiées et mises à jour régulièrement.
Docker s'exécute sur le système d'exploitation hôte et utilise les fonctionnalités de l'OS pour isoler les processus et contrôler les ressources.
Différences entre Docker et les VMs
-
Isolation :
- Docker : Conteneurs légers partageant le noyau de l'hôte.
- VM : Isolation complète avec un OS dédié pour chaque VM.
-
Efficacité des ressources :
- Docker : Démarrage rapide et faible utilisation des ressources.
- VM : Démarrage plus lent et utilisation accrue des ressources.
-
Portabilité :
- Docker : Très portable, indépendant de l'environnement.
- VM : Moins portable, dépend de l'hyperviseur et du matériel.
-
Scalabilité :
-
Docker : Les conteneurs peuvent être créés et détruits en quelques secondes, ce qui facilite l'adaptation rapide aux changements de charge de travail.
-
VM : Les VM s'adaptent moins facilement à des ajustements fréquents de capacité car elles sont de taille plus importante et leur temps de démarrage est plus long.
-
Docker privilégie la portabilité et l'efficacité, tandis que les VMs offrent une isolation complète.
Docker permet de s'assurer que l'environnement de votre application est le même, peu importe où elle est déployée.