Retour au cours

Leçon 20 : Gestion du Cycle de Vie de Compose (Stop, Down, Restart)

Docker, de zéro à héros : Le cours complet sur la conteneurisation pour débutants

Leçon 20 : Gestion du Cycle de Vie de Compose (Stop, Down, Restart)

Savoir comment arrêter et nettoyer votre pile gracieusement est essentiel.

1. Arrêt des Services

Utilisez docker compose stop pour arrêter les conteneurs gracieusement sans les supprimer. Ils peuvent être redémarrés plus tard très rapidement.

bash docker compose stop

Pour redémarrer les services arrêtés :

bash docker compose start

2. Suppression de la Pile (docker compose down)

La commande down arrête les conteneurs et supprime les conteneurs et les réseaux par défaut créés par compose up.

bash docker compose down

Nettoyage de Tout (Y compris les Volumes)

Il est crucial de noter que down ne supprime pas les volumes persistants par défaut, car cela effacerait vos données (par exemple, les données PostgreSQL).

Pour supprimer les conteneurs, les réseaux et aussi les volumes nommés (à utiliser avec prudence) :

bash docker compose down -v

3. Reconstruction des Images

Si vous modifiez le code de votre application ou le Dockerfile, vous devez reconstruire l'image avant que les conteneurs n'utilisent la nouvelle version.

Pour arrêter, reconstruire et redémarrer la pile :

bash docker compose up --build -d

4. Exécution de Commandes à l'intérieur d'un Service en Cours d'Exécution

Pour exécuter une commande interactive (comme un shell ou un script de migration) à l'intérieur d'un conteneur en cours d'exécution, utilisez docker compose exec :

bash

Ouvrir un shell à l'intérieur du conteneur web en cours d'exécution

docker compose exec web sh

Exécuter un script de migration de base de données

docker compose exec db psql -U user -d mydb

docker compose exec est équivalent à docker exec mais utilise le nom de service défini dans votre compose.yml.