48 lines
1.8 KiB
Bash
48 lines
1.8 KiB
Bash
|
#!/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)"
|