Discover Hidden Space: Understanding Docker Storage Usage with `docker system df`
2 min read
362 words
Hey there, 🐳
Remember when you first started using Docker and thought you had it all figured
out? Well, I've been in the Docker game for quite a while now, and I'm still
stumbling upon new tricks. Today, I want to share a nifty little command that
blew my mind - docker system df
.
Ever wondered how much space Docker is taking up on your machine? This command might be your new best friend. Let me show you what I mean:
➜ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 78 2 20.69GB 20.24GB (97%)
Containers 2 0 613.6kB 613.6kB (100%)
Local Volumes 24 1 1.393GB 1.345GB (96%)
Build Cache 180 0 26.36MB 26.36MB
Let's break this down:
- Images: I've got 78 images, but only 2 are active. That's 20.69GB of space, with a whopping 97% of it just sitting there!
- Containers: Two containers taking up barely any space, but they're not even running.
- Local Volumes: 24 volumes, but only one in use. There's 1.393GB here, with 96% of it being reclaimable.
- Build Cache: This is from building images. All 26.36MB of it is reclaimable.
That is a lot, right? Now, if you're like me, you're probably thinking, "Wow, I need to clean this up!" And you're right. Here's how we can reclaim that space:
docker system prune --all --volumes
This command is like a magic broom for Docker. It sweeps away all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes. But hold on a second before you run it!
Remember those volumes we saw earlier? There's another command to target those specifically:
docker volume rm $(docker volume ls -qf dangling=true)
This removes any volumes that are "dangling" - not associated with a container anymore.
Now, I can't stress this enough: Use these commands with caution. They're powerful, which means they can be destructive if you're not careful. Before running them, in a production environment, make sure you won't be removing anything you might need later.
So, there you have it! A little Docker housekeeping tip that might save you gigabytes of space (or even more).
Until next time, thanks for reading!
Niklas