Keep your docker clean

When running docker for some time on your local machine it accumulates quite some data and from time to time you might want to clean them up.

This is a collection of docker commands I found most useful in this context:

Clean Volumes

Cleans all volumes that are not used by any container.

docker volume rm $(docker volume ls -qf dangling=true)

Clean Images

Cleans all images that are not used by any running container. This includes old versions of images.

docker rmi $(docker images -qf dangling=true)

Clean exited and dead containers and their volumes

Cleanes all containers that are not currently running. The -v makes sure the associated volumes are deleted too.

Be sure you don’t need them any more!

docker rm -v $(docker ps -qf status=dead -f status=exited --no-trunc)

Update all docker images

Updates all locally available docker images

docker images --format "{{.Repository}}" --filter "dangling=false" | xargs -L1 docker pull

Delete all images containing XYZ

docker images --format "{{.Repository}}:{{.Tag}}" | grep XYZ | xargs -L1 docker rmi

Any other helpful docker commands that I missed? Let me know in the comments.