Leçon 3 : L'architecture Docker expliquée
Comprendre les composants de Docker est crucial pour le dépannage et l'utilisation avancée.
Docker fonctionne sur une architecture client-serveur. Le client communique avec le démon (serveur), qui effectue le gros du travail.
1. Le Client Docker (CLI)
- C'est la principale manière dont les utilisateurs interagissent avec Docker.
- C'est un outil en ligne de commande (
docker). - Le Client envoie des commandes (comme
docker run,docker build,docker pull) au Démon Docker. - Il peut communiquer avec le Démon localement ou à distance.
2. Le Démon Docker (Moteur)
- Le composant serveur, souvent appelé
dockerd. - Il gère les objets Docker : images, conteneurs, réseaux et volumes.
- Il écoute les requêtes API provenant du Client.
- Les responsabilités clés incluent :
- Construction d'images.
- Exécution, arrêt et gestion des conteneurs.
- Gestion du stockage des images et de la mise en réseau.
3. Registries Docker
- Un Registry est un emplacement centralisé où les Images Docker sont stockées.
- Docker Hub est le registry public par défaut.
- Lorsque vous exécutez
docker pull nginx, Docker tire l'image Nginx de Docker Hub. - Lorsque vous exécutez
docker push, vous envoyez votre image personnalisée à un registry.
Flux d'une Commande (docker run) (Analogie)
- Vous (Client) : Envoyez l'instruction de démarrer un conteneur.
- Démon (Moteur) : Reçoit l'instruction.
- Démon (Gestion d'Images) : Vérifie le stockage local pour l'image demandée.
- Démon (Interaction Registry) : Si non trouvée, tire l'image de Docker Hub.
- Démon (Gestion de Conteneurs) : Crée et démarre une nouvelle instance de conteneur basée sur l'image.
Cette architecture garantit que la gestion des conteneurs et des images est séparée de l'interface utilisateur, offrant efficacité et évolutivité.