DOCKER - 6 1 Docker Compose Présentation
Docker Compose combine un outil CLI et un fichier de configuration YAML pour orchestrer plusieurs conteneurs. Alors que Docker gère des conteneurs individuels, les applications réelles rarement s'exécutent seules : elles ont besoin d'une base de données (PostgreSQL, MySQL), d'une cache (Redis), d'un proxy, d'un frontend web, etc. Sans Compose, vous taperiez plusieurs commandes docker run complexes à chaque fois. Avec Compose, tout cela se définit dans un seul fichier YAML.
Docker Compose se divise en deux parties. La première est le fichier YAML lui-même, qui spécifie tous les services, les réseaux, les volumes et les variables d'environnement. Ce fichier est hiérarchique et simple à lire (YAML est presque aussi simple qu'un fichier INI). La deuxième partie est l'outil CLI docker-compose, qui utilise ce fichier pour lancer, arrêter et gérer tous les conteneurs en une seule commande.
Les versions du fichier Compose ont évolué : initialement sans numéro de version (implicite v1), puis des versions 2, 3, et plus. À partir de 2017, la version 3.1+ peut être utilisée directement avec docker swarm en production. Pour un développement local classique, vous utiliserez l'outil CLI docker-compose. Le fichier par défaut s'appelle docker-compose.yml, mais vous pouvez en utiliser d'autres avec l'option -f.
Compose est particulièrement utile pour développement et tests locaux, où vous voulez reproduire facilement votre pile complète sans installer toutes les dépendances sur votre machine.