💻 Docker Cleanup Script with Safety Checks
Interactive script that helps you reclaim disk space without accidentally deleting important containers.
#!/bin/bash
# Docker Hoarders Anonymous Cleanup Script
# Interactive tool that asks before deleting
echo "Welcome to Docker Hoarders Anonymous"
echo "Let's clean up your digital garage..."
echo ""
# Show current disk usage
echo "Current Docker disk usage:"
docker system df
echo ""
echo "=== STEP 1: Review what we have ==="
# List all containers (running and stopped)
echo "\nAll containers:"
docker ps -a
# List all images
echo "\nAll images:"
docker images
# List all volumes
echo "\nAll volumes:"
docker volume ls
echo ""
echo "=== STEP 2: Interactive cleanup ==="
# Ask about stopped containers
read -p "Remove all stopped containers? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "Removing stopped containers..."
docker container prune -f
fi
# Ask about dangling images
read -p "Remove dangling images? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "Removing dangling images..."
docker image prune -f
fi
# Ask about unused volumes
read -p "Remove unused volumes? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "Removing unused volumes..."
docker volume prune -f
fi
# Show final disk usage
echo ""
echo "=== Cleanup complete! ==="
echo "Final Docker disk usage:"
docker system df
echo ""
echo "Remember: You can always pull images again if needed."
echo "Your digital garage is now organized!"
The Digital Garage: Why We Keep Every Docker Container
Let's be honest—your Docker environment looks like a digital episode of Hoarders. You've got that MySQL 5.7 container from three jobs ago, 'just in case' you need to reference old schema designs. There's the experimental Elasticsearch setup you used exactly once in 2022. And don't forget the 14 different Python base images, each with slightly different package versions, because apparently, you're running a museum of deprecated dependencies.
Why do we do this? Because docker system prune -a feels like playing Russian roulette with your development environment. What if you delete that one obscure image you'll need next week? What if production breaks because you removed something you forgot was a dependency? So instead, we live with the clutter, watching our available disk space dwindle while telling ourselves, "I'll clean it up next weekend"—a lie we've been telling since containerization became a thing.
The absurdity reaches peak developer when you realize you're spending actual money on cloud storage backups for data that includes 8GB of Docker images you haven't touched in years. You're essentially paying rent for digital ghosts—containers that died long ago but still haunt your storage like spectral byte-wraiths.
Therapy Session in Your Terminal
I built Docker Cleanup Therapy because I realized what we needed wasn't another prune command—it was an intervention. This tool combines the ruthless efficiency of automation with the gentle (okay, sarcastic) guidance of a therapist who's tired of your excuses.
Instead of blindly deleting everything, it starts a conversation. Before removing anything, it asks questions designed to make you confront your hoarding habits. That 3-year-old Redis image? The tool will ask if you're really going to use it, or if you're just keeping it around for sentimental value. That stopped container from a failed experiment six months ago? It'll remind you that holding onto failure doesn't make you wise—it makes you a digital pack rat.
Underneath the humor, it's actually useful. The tool intelligently identifies what's safe to remove—unused images, stopped containers, dangling volumes—while preserving what you actually need. It's like having a professional organizer for your Docker environment, except this one doesn't judge you (much) and works for free.
How to Start Your Recovery Journey
Getting started is easier than admitting you have a problem. First, clone the repository:
git clone https://github.com/BoopyCode/docker-cleanup-therapy.git
cd docker-cleanup-therapyMake the script executable (because therapy requires commitment):
chmod +x docker-therapy.shThen run your first session:
./docker-therapy.sh --interactiveHere's a taste of what you'll see in the main script—the therapeutic interrogation that makes this tool special:
# From the main therapy script
function interrogate_image() {
local image=$1
local age=$2
local size=$3
echo "\n🤔 Regarding '$image'..."
echo " It's been $age days old and takes up $size MB"
read -p " Are you REALLY going to use this? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo " Okay, we'll keep it. But we're watching you."
return 1
else
echo " Good choice. Letting go is healthy."
return 0
fi
}Check out the full source code on GitHub to see all the therapeutic techniques we've implemented.
Key Features That Actually Help
- Interactive Therapy Session: Instead of mindless deletion, you get asked emotional questions like "Are you REALLY going to use that 3-year-old Redis image?" and "Does holding onto every Alpine Linux version make you feel secure?" It's like couples counseling, but for you and your Docker daemon.
- Intelligent Cleanup: Automatically removes unused images, stopped containers, and dangling volumes with a single command. It's smart enough to know what's safe to delete while preserving running containers and recently used images.
- Hoarder Score: Get a personalized assessment of your digital hoarding problem. Based on disk wasted and time since last use, you'll receive a score from "Minimalist Zen Master" to "Digital Dragon Sitting on Treasure You'll Never Use."
- Dry Run Mode: For the anxiety-prone, there's a
--dry-runflag that shows you what would be deleted without actually deleting anything. It's like therapy but with a safety net. - Selective Therapy: Choose what to focus on—just images, just volumes, or the full intervention. Sometimes you need to tackle one addiction at a time.
Reclaim Your Disk Space and Sanity
After running Docker Cleanup Therapy, you'll experience something magical: free disk space. That 40GB of Docker cruft that's been accumulating since the Trump administration? Gone. That collection of experimental containers that made your laptop sound like a jet engine? Evicted. You'll have room for actual important things, like cat videos and that massive node_modules folder from your current project.
But more importantly, you'll break the cycle of hoarding. The tool teaches you to be mindful about what you keep, to regularly assess what you actually need, and to let go of digital baggage. It's not just cleanup—it's behavioral modification with better jokes.
Ready to confront your Docker demons? Try Docker Cleanup Therapy today. Your hard drive will thank you, your CI/CD pipeline will run faster, and you might finally be able to install that update without getting "disk full" errors.
Remember: In the cloud, no one can hear your containers scream. But they can definitely see how much storage you're wasting. Break free from digital hoarding—one sarcastic prompt at a time.
Quick Summary
- What: Docker Cleanup Therapy is an interactive CLI tool that removes unused Docker resources while roasting your hoarding tendencies.
💬 Discussion
Add a Comment