Skip to main content

Purge

Cette procédure permet de supprimer l'intégralité des données de Docker (conteneurs, images, volumes, réseaux et cache) pour retrouver un environnement "vierge", tout en conservant l'installation de Docker Engine.


1. Arrêt et suppression des conteneurs

La première étape consiste à stopper tous les processus en cours pour libérer les ressources.

  • Arrêter tous les conteneurs :
    Bash
    docker stop $(docker ps -aq)
  • Supprimer tous les conteneurs :
    Bash
    docker rm $(docker ps -aq)

2. Suppression des images

Pour libérer l'espace disque occupé par les systèmes de fichiers superposés.

  • Supprimer toutes les images (utilisées ou non) :
    Bash
    docker rmi -f $(docker images -aq)

3. Suppression des volumes et réseaux

Les volumes contiennent vos données persistantes et les réseaux vos configurations de ponts personnalisées.

  • Supprimer tous les volumes :
    Bash
    docker volume rm $(docker volume ls -q)
  • Supprimer les réseaux personnalisés : (Note : Les réseaux par défaut comme 'bridge', 'host' et 'none' ne seront pas supprimés)
    Bash
    docker network rm $(docker network ls -q)

4. Nettoyage du cache de construction (Build Kit)

Docker conserve des traces des étapes de construction pour accélérer les futurs docker build. Pour une purge totale, il faut les vider.

  • Supprimer le cache de build :
    Bash
    docker builder prune -a -f

5. La commande "All-in-One" (Le Grand Ménage)

Si vous souhaitez exécuter l'intégralité de ces étapes en une seule ligne de commande sécurisée (elle vérifie d'abord s'il y a des éléments à supprimer pour éviter les erreurs de syntaxe), utilisez celle-ci :

Bash

docker stop $(docker ps -aq) 2>/dev/null; docker system prune -a --volumes -f

Détail de la commande All-in-One :

  • docker stop ... : Arrête proprement tous les conteneurs.
  • 2>/dev/null : Masque les erreurs si aucun conteneur n'est en cours.
  • docker system prune : La commande native de Docker pour le nettoyage.
  • -a : Supprime toutes les images inutilisées, pas seulement les "dangling" (sans nom).
  • --volumes : Force la suppression des volumes (non inclus par défaut dans le prune).
  • -f : Force l'exécution sans demander de confirmation (mode automatique).

Attention : Cette opération est irréversible. Toutes les données contenues dans les bases de données (volumes) et les configurations spécifiques seront perdues.