DOCKER - 6 2 Docker Compose fichier YAML

Le fichier docker-compose.yml commence par déclarer une version (ex. version: '3.1'). Sans elle, Docker applique la version 1 par défaut, ce qui limite les fonctionnalités. Les sections principales sont services, volumes et networks. Le fichier utilise une syntaxe YAML hiérarchique : indentation par espaces (2 ou 4), pas de tabs. Un éditeur moderne (VS Code) valide automatiquement la syntaxe YAML.

La section services défini chaque conteneur. Chaque service a un nom (votre choix : pas besoin que ce soit le nom de l'image). Sous ce nom, vous spécifiez l'image, les commandes à exécuter, les ports exposés, les variables d'environnement, les volumes et autres options. Tout ce que vous passeriez à docker run via flags se déclare ici. Si vous avez plusieurs instances du même service, le nom devient le DNS interne du réseau Docker.

Pour les variables d'environnement, utilisez un format clé-valeur simple (une par ligne), pas de tirets. Pour les listes (volumes, ports, labels), utilisez des tirets. Par exemple : ports: (plural) suivi de - "8080:8080". Les sections volumes et networks sont optionnelles mais utiles pour partager des données et gérer le réseau entre services.

Consulter docs.docker.com pour la documentation complète du fichier Compose : elle liste chaque clé, ses valeurs autorisées et des exemples. La CLI docker-compose up et docker-compose down gère tout le reste à partir de ce fichier unique.