Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to clean docker devicemapper folder properly ?

I have some problem about the storage. The folder /var/lib/docker/devicemapper/ is taking 50% of my storage.

In the folder /var/lib/docker/devicemapper/mnt, I have many empty folders.

How can I properly clean docker devicemapper and remove all unused mapping ?

like image 359
Youssouf Maiga Avatar asked May 29 '17 13:05

Youssouf Maiga


People also ask

What is the best way to clean up storage generated by docker containers on a host machine?

How to cleanup docker containers? docker container rm has two useful options: -v or --volumes which will remove volumes associated with the container being removed. -f or --force which will force the removal of the container with SIGKILL.


1 Answers

With recent versions of Docker you can see the space used with:

docker system df

and prune it with:

docker system prune

The above command combines the prune command that exists for volumes, containers, images and networks:

docker volume prune

docker container prune

docker image prune

docker network prune

Each command has a --help option documenting a -f (--force) option to avoid asking you questions. It must be used with care.

-o-

On older versions of Docker I ran the script:

#!/bin/bash

# Remove dead containers (and their volumes)
docker ps -f status=dead --format '{{ .ID }}' | xargs -r docker rm -v
# Remove dangling volumes
docker volume ls -qf dangling=true | xargs -r docker volume rm
# Remove untagged ("<none>") images
docker images --digests --format '{{.Repository}}:{{.Tag}}@{{.Digest}}' | sed -rne 's/([^>]):<none>@/\1@/p' | xargs -r docker rmi
# Remove dangling images
docker images -qf dangling=true | xargs -r docker rmi
# Remove temporary files
rm -f /var/lib/docker/tmp/*
like image 84
Ricardo Branco Avatar answered Oct 14 '22 17:10

Ricardo Branco