They do require a lot of disk space though, and if like me you need to retrieve some of that space you can delete the containers that are not running with this command:
docker rm $(docker ps -a -q)
In fact 'docker ps -a -q' lists all the containers, but 'docker rm' won't destroy running containers, and the command above will do the job.
You still have the images though (visible with 'docker images'), and each one can be relatively big (> 400MB). I tend not to tag images, so in general I'm interested in the 'latest' ones, or the official ones (like ubuntu:14.04, where ubuntu is the repo and 14.04 is the tag).
Anyway even if selecting the "untagged" ones does the job for me, I can clean up the undesired images with:
docker rmi $(docker images -q --filter "dangling=true")
I've seen other commands just relying on the tag name (and assuming 'TAG' represents and undesired image), but the filter property above should be more reliable.
Thank you for your post, the dangling filter is an interesting catch.
ReplyDeleteThere is another interesting command that it will "always remove intermediate containers, even after unsuccessful builds":
docker build -t= --force-rm=false
More information in the official website: https://docs.docker.com/reference/commandline/cli/