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
- Création et lancement des conteneurs : la commande
docker compose up
crée et lance tous les conteneurs spécifiés dans la sectionservices
du fichiercompose.yaml
. - 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.
- 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.
- 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
:
docker compose up
2. Lancer un service spécifique
Lancer un service spécifique, par exemple, web
:
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) :
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.
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é.
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é.
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.
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.
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.
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é.
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
.
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.
GO TO FULL VERSION