Aller au contenu

Comment purger un ensemble de services (stack) Docker

Bonjour,

Docker est pratique pour monter des projets pour le plaisir d’apprendre, de tester, d’approfondir, etc.

Il arrive souvent que nous ayons besoin de faire du ménage.

Voici un petit pense-bête.

Faire l’inventaire des données persistantes
#

Bien souvent, nous créons des données dans des dossiers du système hôte.

Il convient d’en maintenir un inventaire à jour et de veiller à les sauvegarder et / ou supprimer lorsque nous en avons terminé.

Tracer les éventuelles modifications périphériques
#

Avons-nous créé ou modifié des fichiers ou des configurations périphériques ?

Si oui, et si nous avons travaillé comme il faut, nous avons tracé ces modifications.

C’est le moment de vérifier tout cela de manière à ne pas laisser traîner des choses.

C’est beaucoup plus compliqué si nous avons

  • utilisé des « outils miracles » qui ne nous disent pas tout ce qu’ils font ou
  • suivi tous les conseils qu’une IA nous a donnés sans prendre de notes structurées ni de recul…

Le risque ? Un exemple au hasard : oublier de supprimer des tâches cron qui peuvent perturber le bon fonctionnement d’autres services.

Arrêter et supprimer les conteneurs
#

Pour arrêter et supprimer les conteneurs, nous nous plaçons dans le dossier du projet et utilisons, avec ou sans options,

1
docker compose down

Sous réserve d’avoir bien vérifié que nous les avons sauvegardés si besoin et que nous ne nous en servons plus, nous pouvons supprimer les volumes et les images associés avec ces options :

  • --volumes (-v) supprime les volumes ;
  • --rmi all supprime les images.

Vérifier l’état du système
#

Les commandes simples pour lister les conteneurs, les volumes et les réseaux ne font jamais de mal.

1
2
3
docker ps -a
docker volume ls
docker network ls

S’il reste quelque-chose qui ne devrait pas être là, nous le ciblons spécifiquement avec des commandes de suppression, par exemple :

1
2
3
docker rm <ID_ou_NOM_DU_CONTENEUR>
docker volume rm <NOM_DU_VOLUME>
docker network rm <NOM_DU_RESEAU>

Sauvegarder et / ou supprimer l’infrastructure hôte
#

Une fois le nettoyage vérifié côté Docker,

  • nous archivons ou pas, puis
  • nous supprimons
    • les fichiers de configuration (docker-compose.yml et autres) et
    • le dossier associé au projet.

Au plaisir,

Marc JESTIN
https://marcjestin.fr