Sobes.tech
Junior

Qu'est-ce que Docker Compose ?

sobes.tech IA

Réponse de l'IA

Outil pour définir et exécuter des applications Docker multi-conteneurs. Permet de décrire les services, réseaux et volumes dans un seul fichier YAML et de les lancer avec une seule commande.

Fonctions principales :

  • Définition de plusieurs services dans un seul fichier.
  • Création et lancement de tous les services avec une seule commande.
  • Gestion du cycle de vie de l'application (démarrage, arrêt, redémarrage, mise à l'échelle).
  • Interaction réseau entre les conteneurs.
  • Application de la configuration à la volée.

Exemple de fichier docker-compose.yml :

version: '3.8' # Version du format de fichier

services:
  web: # Nom du service
    image: nginx:latest # Image utilisée
    ports:
      - "80:80" # Redirection des ports
    volumes:
      - ./html:/usr/share/nginx/html # Mapping des volumes

  app: # Nom d'un autre service
    build: . # Construction de l'image à partir du Dockerfile dans le répertoire actuel
    ports:
      - "5000:5000"
    depends_on: # Dépendance d'un autre service
      - db

  db: # Nom du service de base de données
    image: postgres:latest
    environment: # Variables d'environnement
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Volumes définis
  data: # Volume nommé pour les données

Commandes :

  • docker-compose up : Démarre les conteneurs.
  • docker-compose down : Arrête et supprime les conteneurs.
  • docker-compose build : Construit les images.
  • docker-compose ps : Affiche le statut des conteneurs en cours d'exécution.

Avantages :

  • Simplifie la gestion d'applications multiconteneurs complexes.
  • Assure la reproductibilité du déploiement.
  • Facilite le développement et les tests locaux.