CodeGym /Cours /Docker SELF /Lancement des applications et des services

Lancement des applications et des services

Docker SELF
Niveau 15 , Leçon 3
Disponible

4.1 Commande docker compose up

La commande docker compose up est une commande clé de Docker Compose qui permet de lancer des applications multi-conteneurs définies dans le fichier compose.yaml. Elle crée automatiquement et lance tous les services spécifiés dans la configuration, configure les réseaux et monte les volumes. Dans cette conférence, nous allons examiner en détail l'utilisation de la commande docker compose up, ses principaux paramètres et les bonnes pratiques.

Fonctions principales de la commande docker compose up

  1. Création et lancement des conteneurs : la commande docker compose up crée et lance tous les conteneurs spécifiés dans la section services du fichier compose.yaml.
  2. Configuration des réseaux et des volumes : Docker Compose crée automatiquement les réseaux nécessaires et monte les volumes spécifiés dans la configuration.
  3. Lancement parallèle des services : tous les services sont lancés en parallèle, ce qui accélère le processus de démarrage des applications multi-conteneurs.
  4. Suivi des logs : la commande affiche les logs de tous les conteneurs lancés en temps réel, ce qui permet de surveiller leur état et de détecter rapidement les problèmes.

Synthaxe de la commande docker compose up


docker compose up [options] [SERVICE...]

Où :

  • [options] : paramètres supplémentaires pour configurer le comportement de la commande (par exemple, --detach, --build, --scale).
  • [SERVICE...] : (optionnel) liste des services à lancer. Si non spécifié, tous les services sont lancés.

4.2 Exemples de docker compose up

Exemples d'utilisation de la commande docker compose up :

1. Lancer tous les services

Lancer tous les services définis dans le fichier compose.yaml :

Terminal

docker compose up

2. Lancer un service spécifique

Lancer un service spécifique, par exemple, web :

Terminal

docker compose up web

3. Lancer en mode détaché

Pour lancer tous les services en mode détaché, utilisez l'option -d (detached mode) :

Terminal

docker compose up -d

Avec cette option, la commande se termine immédiatement après le démarrage des conteneurs, et ils continueront à fonctionner en arrière-plan.

4.3 Paramètres de la commande docker compose up

Paramètres utiles de la commande docker compose up :

1. Paramètre --build

Ce paramètre force Docker Compose à reconstruire les images avant de démarrer les conteneurs. Utile si tu as modifié le code source ou le Dockerfile.

Terminal

docker compose up --build

2. Paramètre --force-recreate

Le paramètre --force-recreate force Docker Compose à recréer les conteneurs, même si leur configuration n'a pas changé.

Terminal

docker compose up --force-recreate

3. Paramètre --no-recreate

Le paramètre --no-recreate empêche la recréation des conteneurs qui existent déjà, même si leur configuration a changé.

Terminal

docker compose up --no-recreate

4. Paramètre --remove-orphans

Ce paramètre supprime les conteneurs qui ne sont pas définis dans le fichier compose.yaml actuel, mais qui ont été créés par des exécutions précédentes de Docker Compose.

Terminal

docker compose up --remove-orphans

5. Paramètres -V, --renew-anon-volumes

Ces paramètres forcent Docker Compose à recréer les volumes anonymes au lieu de les réutiliser.

Terminal

docker compose up -V

4.4 Exemples et recommandations

Exemples d'utilisation de la commande docker compose up avec différentes options :

Exemple 1 : lancement de l'application avec reconstruction des images

Cet exemple reconstruit les images avant de lancer les conteneurs, ce qui est utile si tu as fait des modifications dans le code source ou le Dockerfile.

Terminal

docker compose up --build

Exemple 2 : lancement en mode détaché avec recréation des conteneurs

Cet exemple lance les conteneurs en mode détaché et les recrée, même si la configuration n'a pas changé.

Terminal

docker compose up -d --force-recreate

Exemple 3 : lancement d'un service spécifique avec suppression des conteneurs inutiles

Cet exemple lance uniquement le service web et supprime les conteneurs qui ne sont pas définis dans le fichier actuel compose.yaml.

Terminal

docker compose up web --remove-orphans

Recommandations pratiques

1. Utilisation du fichier .env

Tu peux utiliser un fichier .env pour définir des variables d'environnement qui seront utilisées dans ton fichier compose.yaml. Cela aide à gérer la configuration et simplifie le processus de déploiement dans différents environnements.

2. Logs et monitoring

Lorsque tu lances des conteneurs avec la commande docker compose up, tous les logs s'affichent dans la console. Ça permet de suivre l'état des services et de réagir rapidement aux problèmes qui pourraient survenir. Pour un monitoring détaillé, utilise les commandes docker compose logs et docker compose ps.

3. Automatisation de la construction et du déploiement

Intégrer la commande docker compose up dans des scripts d'automatisation ou des pipelines CI/CD aide à automatiser le processus de construction et de déploiement des applications multi-conteneurs. Par exemple, tu peux configurer Jenkins ou GitHub Actions pour une construction, un déploiement et un lancement automatiques de docker compose up à chaque mise à jour du code.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION