Sobes.tech
Junior

Qu'est-ce que Docker Compose et comment l'utiliser?

sobes.tech IA

Réponse de l'IA

Docker Compose est un outil pour définir et exécuter des applications Docker multi-conteneurs. Il permet de décrire les services de l’application, leurs dépendances et leur configuration dans un seul fichier (généralement docker-compose.yml). Ensuite, une seule commande suffit pour lancer tous les services définis.

Utilisation de Docker Compose :

  1. Définition des services : Dans le fichier docker-compose.yml, on décrit les différents composants de l’application comme des services (par exemple, serveur web, base de données, API backend). Pour chaque service, on indique l’image Docker, les ports, les volumes, les variables d’environnement et les dépendances.

    # exemple de fichier docker-compose.yml
    version: '3.8'
    services:
      webapp:
        image: my-webapp
        ports:
          - "80:80"
        volumes:
          - .:/app
      database:
        image: postgres:13
        environment:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
    
  2. Lancement de l’application : La commande docker-compose up construit, crée et lance tous les services décrits dans le fichier docker-compose.yml.

    # lancer tous les services en arrière-plan
    docker-compose up -d
    
  3. Arrêt de l’application : La commande docker-compose down arrête et supprime les conteneurs, réseaux et volumes créés par docker-compose up.

    # arrêter et supprimer les services
    docker-compose down
    

Principaux avantages :

  • Simplification de la configuration : Toute la configuration de l’application multiconteneur est concentrée dans un seul fichier.
  • Reproductibilité : Facile de configurer et de lancer l’application dans un environnement identique sur différentes machines.
  • Gestion du cycle de vie : Commandes simples pour lancer, arrêter et redémarrer tous les services.
  • Tests : Pratique pour déployer rapidement des environnements de test avec des services dépendants (bases de données, files d’attente, etc.).

En QA, Docker Compose est souvent utilisé pour déployer rapidement des environnements de test, simuler des infrastructures complexes et assurer la prévisibilité de l’environnement de test.