System Prune
Remove all unused data (containers, networks, images).
docker system pruneRemove everything including volumes:
docker system prune -a --volumesForce without confirmation:
docker system prune -f
Check Disk Usage
Show Docker disk usage.
docker system dfVerbose output:
docker system df -v
Remove Stopped Containers
Delete all stopped containers.
docker container pruneRemove specific container:
docker rm <container-id>Remove all containers (stopped and running):
docker rm -f $(docker ps -aq)
Remove Images
Remove unused images.
docker image pruneRemove all unused images (not just dangling):
docker image prune -aRemove specific image:
docker rmi <image-id>Remove all images:
docker rmi $(docker images -q)
Remove Dangling Images
Remove untagged images.
docker image pruneList dangling images first:
docker images -f dangling=true
Remove Volumes
Delete unused volumes.
docker volume pruneRemove specific volume:
docker volume rm <volume-name>Remove all volumes:
docker volume rm $(docker volume ls -q)
Remove Networks
Delete unused networks.
docker network pruneRemove specific network:
docker network rm <network-name>
Remove Build Cache
Clear Docker build cache.
docker builder pruneRemove all build cache:
docker builder prune -a
Stop All Containers
Stop all running containers before cleanup.
docker stop $(docker ps -q)
Remove by Filter
Remove containers created before specific time.
docker container prune --filter "until=24h"Remove images by label:
docker image prune --filter="label=deprecated=true"
Complete Cleanup Script
#!/bin/bash
# Stop all containers
docker stop $(docker ps -aq)
# Remove all containers
docker rm $(docker ps -aq)
# Remove all images
docker rmi $(docker images -q)
# Remove all volumes
docker volume prune -f
# Remove all networks
docker network prune -f
# System prune
docker system prune -a --volumes -f
Scheduled Cleanup
Add to crontab for weekly cleanup:
0 2 * * 0 docker system prune -f