ok... ok... I'll add it to git...
This commit is contained in:
Executable
+72
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
# Docker Cleanup Script
|
||||
# Safely removes unused containers, images, volumes, and networks
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== Docker Cleanup ==="
|
||||
echo "$(date)"
|
||||
echo ""
|
||||
|
||||
# Show current usage
|
||||
echo "[Current Docker Disk Usage]"
|
||||
docker system df
|
||||
echo ""
|
||||
|
||||
# Ask for confirmation
|
||||
echo "This will remove:"
|
||||
echo " - Stopped containers"
|
||||
echo " - Unused networks"
|
||||
echo " - Dangling images"
|
||||
echo " - Build cache"
|
||||
echo ""
|
||||
read -p "Continue? (y/N) " -n 1 -r
|
||||
echo
|
||||
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "Cleanup cancelled"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "[1/4] Removing stopped containers..."
|
||||
docker container prune -f
|
||||
echo "✅ Done"
|
||||
echo ""
|
||||
|
||||
echo "[2/4] Removing unused networks..."
|
||||
docker network prune -f
|
||||
echo "✅ Done"
|
||||
echo ""
|
||||
|
||||
echo "[3/4] Removing dangling images..."
|
||||
docker image prune -f
|
||||
echo "✅ Done"
|
||||
echo ""
|
||||
|
||||
echo "[4/4] Removing build cache..."
|
||||
docker builder prune -f
|
||||
echo "✅ Done"
|
||||
echo ""
|
||||
|
||||
# Ask about unused images
|
||||
echo ""
|
||||
echo "[Optional] Remove ALL unused images (not just dangling)?"
|
||||
echo "⚠️ This removes images not used by any container"
|
||||
read -p "Remove unused images? (y/N) " -n 1 -r
|
||||
echo
|
||||
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "Removing all unused images..."
|
||||
docker image prune -a -f
|
||||
echo "✅ Done"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "[New Docker Disk Usage]"
|
||||
docker system df
|
||||
echo ""
|
||||
|
||||
echo "=== Cleanup Complete ==="
|
||||
echo ""
|
||||
echo "Tip: Run 'docker volume prune' to remove unused volumes (use with caution!)"
|
||||
Reference in New Issue
Block a user