Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Gestion des Applications Multi-Conteneurs | Travail avec Docker Compose
Docker Essentials

bookGestion des Applications Multi-Conteneurs

Lors de la création d'applications modernes, il est souvent nécessaire d'exécuter plusieurs services ensemble—tels que des serveurs web, des bases de données et des systèmes de cache—qui doivent communiquer et fonctionner comme un système unifié. Docker Compose simplifie ce processus en permettant de définir tous vos services, leurs dépendances et leurs interactions dans un seul fichier docker-compose.yml.

Définition des dépendances et des liens de service dans docker-compose.yml

Dans votre fichier docker-compose.yml, chaque service peut déclarer des dépendances et spécifier comment il se connecte aux autres. La clé depends_on permet de définir l'ordre de démarrage des services, garantissant par exemple qu'une base de données soit opérationnelle avant que votre application tente de s'y connecter. De plus, Compose crée automatiquement un réseau par défaut pour votre projet, facilitant la découverte et la communication entre services par nom de service.

Supposons que vous ayez une application web qui dépend d'une base de données. Dans votre fichier Compose, définissez les services comme suit :

version: "3.8"
services:
  app:
    build: .
    depends_on:
      - db
  db:
    image: postgres:15

Ici :

  • Le service app dépend de db ;
  • Compose démarre le conteneur de la base de données avant l'application ;
  • Les deux services peuvent se référer l'un à l'autre en utilisant les noms de service comme noms d'hôte au sein du réseau Compose.

Stratégies de mise à l'échelle des services et de mise à jour des configurations

Docker Compose facilite la mise à l'échelle horizontale des services. Si votre application doit gérer plus de trafic, il est possible d'augmenter le nombre de conteneurs pour un service à l'aide de l'option --scale lors de l'exécution de docker compose up.

Pour exécuter trois instances de votre service d'application, utilisez :

docker compose up --scale app=3
  • Cette commande lance trois conteneurs pour le service app ;
  • Tous les conteneurs sont connectés au même réseau et peuvent partager des ressources, telles qu'une base de données ;
  • Lors de la mise à l'échelle, il est important que vos services soient sans état ou capables de gérer plusieurs instances correctement.

La mise à jour des configurations dans un environnement Compose est simple :

  • Modifiez votre fichier docker-compose.yml—par exemple, changez les variables d'environnement, les limites de ressources ou les images de service ;
  • Appliquez les modifications avec la commande suivante :
docker compose up -d
  • Cette commande ne recrée que les services dont la configuration a changé, minimisant ainsi les interruptions.

Surveillance et dépannage des applications multi-conteneurs avec Compose

Lors de l'exécution de plusieurs conteneurs, la surveillance et le dépannage sont essentiels. Docker Compose propose des outils pour observer l'état et les journaux de vos services. Il est possible de visualiser la sortie de tous les conteneurs en temps réel avec :

docker compose logs -f

Cette commande diffuse les journaux de tous les services, ce qui facilite l'identification des erreurs ou des problèmes au fur et à mesure qu'ils surviennent. Pour se concentrer sur un service particulier, indiquez son nom :

docker compose logs db

Pour le dépannage, il est possible d'entrer dans un conteneur en cours d'exécution à l'aide de :

docker compose exec app sh

Cette commande ouvre un shell à l'intérieur du conteneur app, permettant d'inspecter les fichiers, d'exécuter des commandes de diagnostic ou de vérifier les variables d'environnement. La surveillance de l'utilisation des ressources et de l'état des conteneurs peut également être réalisée avec les outils Docker standards, tels que docker stats.

1. Quelle clé dans un fichier docker-compose.yml garantit qu'un service démarre avant un autre ?

2. Comment mettre à l'échelle un service nommé worker à cinq instances avec Docker Compose ?

3. Quelle commande utiliser pour afficher en direct les journaux de tous les services en cours d'exécution dans une application Compose ?

question mark

Quelle clé dans un fichier docker-compose.yml garantit qu'un service démarre avant un autre ?

Select the correct answer

question mark

Comment mettre à l'échelle un service nommé worker à cinq instances avec Docker Compose ?

Select the correct answer

question mark

Quelle commande utiliser pour afficher en direct les journaux de tous les services en cours d'exécution dans une application Compose ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain how to use environment variables in docker-compose.yml?

What are some best practices for managing secrets with Docker Compose?

How do I connect an external service (like Redis) to my Compose network?

Awesome!

Completion rate improved to 7.14

bookGestion des Applications Multi-Conteneurs

Glissez pour afficher le menu

Lors de la création d'applications modernes, il est souvent nécessaire d'exécuter plusieurs services ensemble—tels que des serveurs web, des bases de données et des systèmes de cache—qui doivent communiquer et fonctionner comme un système unifié. Docker Compose simplifie ce processus en permettant de définir tous vos services, leurs dépendances et leurs interactions dans un seul fichier docker-compose.yml.

Définition des dépendances et des liens de service dans docker-compose.yml

Dans votre fichier docker-compose.yml, chaque service peut déclarer des dépendances et spécifier comment il se connecte aux autres. La clé depends_on permet de définir l'ordre de démarrage des services, garantissant par exemple qu'une base de données soit opérationnelle avant que votre application tente de s'y connecter. De plus, Compose crée automatiquement un réseau par défaut pour votre projet, facilitant la découverte et la communication entre services par nom de service.

Supposons que vous ayez une application web qui dépend d'une base de données. Dans votre fichier Compose, définissez les services comme suit :

version: "3.8"
services:
  app:
    build: .
    depends_on:
      - db
  db:
    image: postgres:15

Ici :

  • Le service app dépend de db ;
  • Compose démarre le conteneur de la base de données avant l'application ;
  • Les deux services peuvent se référer l'un à l'autre en utilisant les noms de service comme noms d'hôte au sein du réseau Compose.

Stratégies de mise à l'échelle des services et de mise à jour des configurations

Docker Compose facilite la mise à l'échelle horizontale des services. Si votre application doit gérer plus de trafic, il est possible d'augmenter le nombre de conteneurs pour un service à l'aide de l'option --scale lors de l'exécution de docker compose up.

Pour exécuter trois instances de votre service d'application, utilisez :

docker compose up --scale app=3
  • Cette commande lance trois conteneurs pour le service app ;
  • Tous les conteneurs sont connectés au même réseau et peuvent partager des ressources, telles qu'une base de données ;
  • Lors de la mise à l'échelle, il est important que vos services soient sans état ou capables de gérer plusieurs instances correctement.

La mise à jour des configurations dans un environnement Compose est simple :

  • Modifiez votre fichier docker-compose.yml—par exemple, changez les variables d'environnement, les limites de ressources ou les images de service ;
  • Appliquez les modifications avec la commande suivante :
docker compose up -d
  • Cette commande ne recrée que les services dont la configuration a changé, minimisant ainsi les interruptions.

Surveillance et dépannage des applications multi-conteneurs avec Compose

Lors de l'exécution de plusieurs conteneurs, la surveillance et le dépannage sont essentiels. Docker Compose propose des outils pour observer l'état et les journaux de vos services. Il est possible de visualiser la sortie de tous les conteneurs en temps réel avec :

docker compose logs -f

Cette commande diffuse les journaux de tous les services, ce qui facilite l'identification des erreurs ou des problèmes au fur et à mesure qu'ils surviennent. Pour se concentrer sur un service particulier, indiquez son nom :

docker compose logs db

Pour le dépannage, il est possible d'entrer dans un conteneur en cours d'exécution à l'aide de :

docker compose exec app sh

Cette commande ouvre un shell à l'intérieur du conteneur app, permettant d'inspecter les fichiers, d'exécuter des commandes de diagnostic ou de vérifier les variables d'environnement. La surveillance de l'utilisation des ressources et de l'état des conteneurs peut également être réalisée avec les outils Docker standards, tels que docker stats.

1. Quelle clé dans un fichier docker-compose.yml garantit qu'un service démarre avant un autre ?

2. Comment mettre à l'échelle un service nommé worker à cinq instances avec Docker Compose ?

3. Quelle commande utiliser pour afficher en direct les journaux de tous les services en cours d'exécution dans une application Compose ?

question mark

Quelle clé dans un fichier docker-compose.yml garantit qu'un service démarre avant un autre ?

Select the correct answer

question mark

Comment mettre à l'échelle un service nommé worker à cinq instances avec Docker Compose ?

Select the correct answer

question mark

Quelle commande utiliser pour afficher en direct les journaux de tous les services en cours d'exécution dans une application Compose ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt