Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker - free up space after removing all images & containers [closed]

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?

like image 267
tgogos Avatar asked Mar 28 '17 10:03

tgogos


3 Answers

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)
like image 171
itiic Avatar answered Oct 24 '22 06:10

itiic


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

like image 34
tgogos Avatar answered Oct 24 '22 07:10

tgogos


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

like image 45
shizhz Avatar answered Oct 24 '22 08:10

shizhz