Qu'est-ce que Docker
Docker est un moteur de conteneurs qui empaquette une application et ses dépendances dans une image portable, puis l'exécute dans un conteneur isolé. Contrairement à une machine virtuelle, un conteneur partage le noyau de l'hôte : il démarre en quelques millisecondes et consomme peu de ressources.
L'outil se décline en deux familles. Sur Linux, on installe le moteur Docker (Docker Engine), un démon dockerd géré par systemd qui s'exécute nativement. Sur macOS et Windows, on installe Docker Desktop, une application qui démarre une machine virtuelle Linux légère pour héberger le moteur, car les conteneurs Linux ne tournent pas directement sur ces systèmes.
Architecture client / serveur
La commande docker est un client qui dialogue avec le démon via un socket Unix (/var/run/docker.sock sur Linux) ou un canal nommé. Le démon construit les images, gère les volumes, les réseaux et le cycle de vie des conteneurs. Comme le socket donne un contrôle équivalent à root, l'ajout d'un utilisateur au groupe docker est une commodité qui équivaut à lui accorder des privilèges root : à réserver aux comptes de confiance.
Compose
Docker Compose (docker compose, sous-commande intégrée depuis la v2) décrit une application multi-conteneurs dans un fichier compose.yaml. Sur Linux, il est fourni par le paquet docker-compose-plugin ; sur macOS et Windows, il est inclus dans Docker Desktop.