Docker Tip #31: How to Remove Dangling Docker Images
If you're working with Docker, you've probably noticed a lot of none references when you list your images. Here's how to clean them up.
If you’ve ever ran a
docker image ls you’ve likely noticed 1 or more items that have a
<none> repository and a
A dangling image example:
REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 7848fcc70e7b 4 days ago 362MB
Dangling images are not referenced by other images and are safe to delete. If you have a lot of them, it can be really tedious to remove them, but lucky for us Docker has a few commands to help us eliminate dangling images.
In older versions of Docker (and this still works today), you can delete dangling images on their own by running
docker rmi -f $(docker images -f "dangling=true" -q).
But with newer versions of Docker (1.13+) there’s an even better command called
docker system prune which will not only remove dangling images but it will also remove all stopped containers, all networks not used by at least 1 container, all dangling images and build caches.
This is something you should run on a regular basis. I personally run it on a daily cron job on both my development machine and production boxes.