#!/bin/bash # Afficher un message d'avertissement et demander confirmation echo "ATTENTION: Ce script va supprimer tous vos conteneurs Docker" echo "et optionnellement les images, volumes et réseaux." echo "" read -p "Voulez-vous continuer? (o/n): " CONFIRMATION if [[ "$CONFIRMATION" != "o" && "$CONFIRMATION" != "O" ]]; then echo "Opération annulée." exit 0 fi echo "" echo "Arrêt et suppression de tous les conteneurs..." # Arrêter tous les conteneurs en cours d'exécution sudo docker stop $(sudo docker ps -aq) 2>/dev/null # Supprimer tous les conteneurs sudo docker rm $(sudo docker ps -aq) 2>/dev/null echo "" read -p "Voulez-vous aussi supprimer toutes les images Docker? (o/n): " DELETE_IMAGES if [[ "$DELETE_IMAGES" == "o" || "$DELETE_IMAGES" == "O" ]]; then echo "Suppression de toutes les images Docker..." sudo docker rmi $(sudo docker images -q) -f 2>/dev/null fi echo "" read -p "Voulez-vous supprimer tous les volumes Docker? (o/n): " DELETE_VOLUMES if [[ "$DELETE_VOLUMES" == "o" || "$DELETE_VOLUMES" == "O" ]]; then echo "Suppression de tous les volumes Docker..." sudo docker volume rm $(sudo docker volume ls -q) 2>/dev/null fi echo "" read -p "Voulez-vous supprimer tous les réseaux Docker? (o/n): " DELETE_NETWORKS if [[ "$DELETE_NETWORKS" == "o" || "$DELETE_NETWORKS" == "O" ]]; then echo "Suppression de tous les réseaux Docker (sauf les réseaux par défaut)..." sudo docker network rm $(sudo docker network ls -q) 2>/dev/null fi echo "" echo "Nettoyage terminé!" echo "Statut actuel:" echo "Conteneurs restants: $(sudo docker ps -aq | wc -w)" echo "Images restantes: $(sudo docker images -q | wc -w)" echo "Volumes restants: $(sudo docker volume ls -q | wc -w)" echo "Réseaux restants: $(sudo docker network ls -q | wc -w)"