Docker - free up space after removing all images &

2019-07-02 01:22发布

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?

3条回答
疯言疯语
2楼-- · 2019-07-02 01:47

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楼-- · 2019-07-02 02:06

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:-)

查看更多
我欲成王,谁敢阻挡
4楼-- · 2019-07-02 02:11

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)
查看更多
登录 后发表回答