🧪 Skills
Docker Container Cleaner
CLI tool to clean up stopped Docker containers, unused images, volumes, and networks to free up disk space.
v1.0.0
Description
name: docker-container-cleaner description: CLI tool to clean up stopped Docker containers, unused images, volumes, and networks to free up disk space. version: 1.0.0 author: skill-factory metadata: openclaw: requires: bins: - python3 - docker
Docker Container Cleaner
What This Does
A CLI tool that helps clean up Docker resources to free up disk space. It can:
- List and remove stopped containers
- Remove dangling images (images with no tag)
- Remove unused images (not used by any container)
- Remove unused volumes
- Remove unused networks
- Perform a "prune all" operation (Docker system prune)
The tool provides a safe, interactive mode by default, showing what will be removed and asking for confirmation before deleting anything.
When To Use
- Your Docker disk usage is growing and you need to free up space
- You have many stopped containers that are no longer needed
- You have old, unused images taking up disk space
- You want to clean up Docker resources in a controlled, safe way
- You need to automate Docker cleanup in scripts or CI/CD pipelines
Usage
Interactive cleanup (recommended for first use):
python3 scripts/main.py clean
Remove stopped containers only:
python3 scripts/main.py clean --containers
Remove dangling images only:
python3 scripts/main.py clean --images --dangling
Remove unused images (all images not used by containers):
python3 scripts/main.py clean --images --unused
Remove unused volumes:
python3 scripts/main.py clean --volumes
Remove unused networks:
python3 scripts/main.py clean --networks
Force cleanup (no confirmation):
python3 scripts/main.py clean --all --force
Dry run (show what would be removed):
python3 scripts/main.py clean --all --dry-run
Examples
Example 1: Interactive cleanup
python3 scripts/main.py clean
Output:
Docker Cleanup Tool
===================
Found resources:
- Stopped containers: 3 (using 1.2GB)
- Dangling images: 5 (using 850MB)
- Unused images: 2 (using 450MB)
- Unused volumes: 1 (using 100MB)
- Unused networks: 0
Total disk space that can be freed: 2.6GB
What would you like to clean up?
1. Remove stopped containers
2. Remove dangling images
3. Remove unused images
4. Remove unused volumes
5. Remove unused networks
6. All of the above
7. Cancel
Enter choice [1-7]: 2
About to remove 5 dangling images (850MB):
- python:3.9-alpine (dangling)
- node:16-slim (dangling)
- ...
Are you sure? (y/N): y
Removing images...
✅ Cleanup complete! Freed 850MB of disk space.
Example 2: Script-friendly JSON output
python3 scripts/main.py status --format json
Output:
{
"containers": {
"running": 2,
"stopped": 3,
"stopped_size_mb": 1200
},
"images": {
"total": 15,
"dangling": 5,
"dangling_size_mb": 850,
"unused": 2,
"unused_size_mb": 450
},
"volumes": {
"total": 4,
"unused": 1,
"unused_size_mb": 100
},
"networks": {
"total": 3,
"unused": 0
},
"total_reclaimable_mb": 2600
}
Requirements
- Python 3.x
- Docker: Must be installed and the Docker daemon must be running
- Docker CLI: Must be available in PATH (
dockercommand) - Docker SDK for Python: Optional, but recommended for better performance
Install Docker SDK for Python (optional):
pip install docker
Limitations
- This is a CLI tool, not an auto-integration plugin
- Requires Docker daemon to be running and accessible
- Some operations require elevated permissions (sudo)
- Cannot clean up resources in use by running containers
- Image size calculations are approximate
- Network and volume cleanup may fail if resources are in use
- Does not clean up Docker build cache (use
docker builder prune) - Does not clean up Docker Compose resources automatically
- Performance depends on number of Docker resources
- Large cleanup operations may take significant time
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!