Docker Desktop on Mac can quietly consume 50-100 GB once you have pulled a few base images and worked on a couple of projects. Most of that space is dangling images, stopped containers, and unused volumes.
Short answer: run docker system prune -a in Terminal to clear unused images, containers, networks, and build cache. Run docker volume prune separately if you are sure you do not need the data volumes.
The safe default prune
- open Terminal
- run
docker system prune - confirm with
y
That removes stopped containers, unused networks, dangling images, and dangling build cache. Running containers and the images behind them are left alone.
The aggressive prune
When the drive is really tight, run:
docker system prune -a
This removes every image that is not currently tied to a running container, not just the dangling ones. Expect to re-pull base images next time you start a project. That is fine if you have bandwidth; skip it if you are tethered or offline.
Volumes are not automatic
Volumes hold persistent data — database rows, uploaded files, anything your containers were configured to keep. docker system prune intentionally leaves them alone so you do not accidentally wipe a database.
When you are sure an old project is dead:
- run
docker volume prune - confirm with
y
Docker only deletes volumes that are not attached to any container at all.
Keeping it tidy
Set a monthly reminder to run docker system prune. The one-minute habit avoids the "why is my drive full" moment six months later.
Better next routes
If Docker is tidy and the drive is still heavy, continue with How to Clear Xcode Cache and Derived Data.
For the broader framing, use the desktop cleanup FAQ.
