diff --git a/delete.sh b/delete.sh new file mode 100644 index 0000000..da226fc --- /dev/null +++ b/delete.sh @@ -0,0 +1,48 @@ +#!/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)" \ No newline at end of file