TIL: Docker Cleanup / Fresh Start Options

Level 1: Containers + Volumes

docker compose down \-v

Removes: Containers, networks, named volumes Keeps: Images, anonymous volumes, build cache

Level 2: + Remove Images

docker compose down \-v \--rmi all

Removes: Everything from Level 1 + all images used by services Keeps: Build cache, unused images, anonymous volumes

Level 3: + Remove Anonymous Volumes

docker compose down \-v \--rmi all \--remove-orphans

docker volume prune \-f

Removes: Everything from Level 2 + orphaned containers + unused volumes Keeps: Build cache, unrelated images

Level 4: Complete Docker Cleanup

# Stop all Docker containers
docker stop $(docker ps \-aq)

# Remove everything
docker system prune \-a \--volumes \-f

# Or more selectively:

docker container prune \-f    *\# Remove stopped containers*  
docker image prune \-a \-f     *\# Remove unused images*  
docker volume prune \-f       *\# Remove unused volumes*  
docker network prune \-f      *\# Remove unused networks*

docker builder prune \-a \-f   *\# Remove build cache*

Level 5: Reset Docker Desktop

# Via Docker Desktop GUI: Settings > Troubleshoot > Clean / Purge data

# Or restart Docker Desktop entirely

What Each Component Stores

Volumes: Database data, uploaded files, persistent storage Images: Your built application code, dependencies Build cache: Dockerfile layer cache (speeds up rebuilds) Containers: Runtime state, temporary files Networks: Custom networking configuration

Disk Space Recovery

Check what’s taking space:

docker system df        *\# Show Docker disk usage*  
docker image ls         *\# List all images*

docker volume ls        *\# List all volumes*

The higher levels progressively reclaim more disk space but require more time to rebuild everything from scratch.

Via: https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes

Via: https://docs.docker.com/engine/manage-resources/pruning/