33800 Docs

← Retour
#!/bin/bash # =========================================== # Nettoie les ressources Docker non utilisées # Usage: ./cleanup.sh [--force] # =========================================== set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../lib/config.sh" source "$SCRIPT_DIR/../lib/colors.sh" source "$SCRIPT_DIR/../lib/utils.sh" FORCE=false [ "$1" = "--force" ] && FORCE=true print_header "Nettoyage Docker" # Afficher l'espace avant nettoyage log_info "Espace disque Docker actuel:" docker system df echo "" # Containers arrêtés STOPPED_CONTAINERS=$(docker ps -a -f status=exited -q | wc -l) log_info "Containers arrêtés: $STOPPED_CONTAINERS" # Images non utilisées DANGLING_IMAGES=$(docker images -f dangling=true -q | wc -l) log_info "Images orphelines: $DANGLING_IMAGES" # Volumes non utilisés UNUSED_VOLUMES=$(docker volume ls -f dangling=true -q | wc -l) log_info "Volumes non utilisés: $UNUSED_VOLUMES" echo "" if [ "$FORCE" = false ]; then if ! confirm "Procéder au nettoyage ?"; then log_info "Annulé" exit 0 fi fi # Nettoyage log_step "Suppression des containers arrêtés..." docker container prune -f >/dev/null 2>&1 || true log_step "Suppression des images orphelines..." docker image prune -f >/dev/null 2>&1 || true log_step "Suppression des volumes non utilisés..." docker volume prune -f >/dev/null 2>&1 || true log_step "Suppression des networks non utilisés..." docker network prune -f >/dev/null 2>&1 || true echo "" log_success "Nettoyage terminé!" echo "" # Afficher l'espace après nettoyage log_info "Espace disque Docker après nettoyage:" docker system df