Docker - free up space after removing all images & containers

孤街醉人 提交于 2019-12-12 13:29:39

问题


I have deleted all the images/containers

ubuntu@ubuntu:/var/lib/docker$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu@ubuntu:/var/lib/docker$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

but I notice that there are still about 15GB inside /var/lib/docker

ubuntu@ubuntu:/var/lib/docker$ sudo du --max-depth=1 -h .
12G     ./volumes
104K    ./aufs
4,0K    ./containers
1,3M    ./image
4,0K    ./trust
4,0K    ./swarm
2,6G    ./tmp
108K    ./network
15G     .

Questions:

  1. How can I free up this space?

  2. Is it safe to remove things inside /var/lib/docker?


回答1:


Try (from docker 1.13):

docker system df

it shows you size of:

  • Images
  • Containers
  • Local Volumes

and remove local volumes using:

docker volume prune

For older Dockers try:

docker volume rm $(docker volume ls -q)



回答2:


For my current docker version (1.12.1 for both Client & Server) a way to delete all volumes is by using:

docker volume rm $(docker volume ls -q)

but the following is safer: (thanks Matt for your comment)

$(docker volume ls -qf dangling=true)

Also from version: 1.13.0 (2017-01-18) some commands were added:

$ docker system prune
$ docker container prune
$ docker image prune
$ docker volume prune
$ docker network prune

Changelog: Add new docker system command with df and prune subcommands for system resource management, as well as docker {container,image,volume,network} prune subcommands #26108 #27525 / #27525




回答3:


Most of the space is occupied by docker volume as you can see from your output:

12G ./volumes

Docker volumes are used to persist data for docker container and to share data between containers, and they are independent of the container’s lifecycle. So removing image/container will not free the disk space they occupied. Please refer to their official docs for more details.

If you're using latest version of docker, you can find volume related commands docs for more details(list/remove/create volumes e.g), for older version of docker, you can refer to this script on github for how to clean up volumes.

Hope this could be helpful:-)



来源:https://stackoverflow.com/questions/43066863/docker-free-up-space-after-removing-all-images-containers

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!