问题
I am running docker on windows 10.
I had a couple of images stored in my machine. The total size of these images accumulated to around ~10GB. I have deleted these images via 'docker rmi -f
' command.
But the space occupied by these images has not been released. If I run 'docker images' command, the deleted images are not listed in the output of 'docker images' command(but the disk space is not cleaned up).
How can I improve (ie. reduce) the disk space used by docker?
回答1:
First try to run:
docker system prune
It will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
If that's not enough, do:
docker system prune -a
It will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all images without at least one container associated to
回答2:
Update Q4 2016: as I mention in "How to remove old and unused Docker images", use:
docker image prune -a
(more precise than docker system prune
)
It will remove dangling and unused images.
Warning: 'unused' means "images not referenced by any container": be careful before using -a
.
Then check if the disk space for images has shrunk accordingly.
Original answer:
See the Medium article "How to clean up Docker (~5GB junk!)" from katopz.
It refers to the docker-cleanup script, for removing old exited process, and dangling images.
I have my own aliases as well.
But it also mentions that, since docker 1.10, you now have named volumes that need to be removed as well:
docker volume rm $(docker volume ls -qf dangling=true)
回答3:
To clean the system memory there are three steps:
- Delete docker image
- docker system prune -a
- quit the docker container app
This worked for me. Around 30gb of space was cleaned after doing the above mentioned steps.
来源:https://stackoverflow.com/questions/37518096/cleanup-disk-space-occupied-by-docker-images