Cleaning up after Docker

Often times you want to remove all docker images and all docker containers. When you're experimenting with images, it gets a bit painful to manually remove each image / container individually.

To remove all containers:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

To remove all images:

docker rmi $(docker images -q)

Now when you run

docker ps -a

All containers should be gone


docker images

you might still see one or two images, these will probably require the -f flag to force remove them.

Write your comment…


Nice, note that you can use the following one-liners too:

# Remove all dangling images (unused images)
$ docker rmi $(sudo docker images -q -f "dangling=true")

# Remove all dangling volumes (unused volumes)
$ docker volume rm $(docker volume ls -q -f "dangling=true")

Reply to this…

Share your programming knowledge and learn from the best developers on Hashnode

Get started

You should use docker-gc by Spotify, it's a garbage collector for docker images and containers.

Reply to this…

Since docker v1.13, a few new commands were added

# shows used space, similar to the unix tool df
$ docker system df

# Removes all unused containers, volumes, networks and images (both dangling and unreferenced)
$ docker system prune

More about those commands:

This looks useful!

Reply to this…