Docker clean inodes

Sur certaines VM, Docker prend 100% des inodes. Ce qui génère des messages d’erreur “No space left on device”

Un “df -i” affichera un “Used 100%” sur le volume qui pose problème

Affichage du nombre d’inodes

Voici différents scripts qui permettent de retrouver les répertoires qui prennent le plus d’inodes

for i in /var/lib/docker/*; do echo $i; find $i |wc -l; done
for ii in $(find . -maxdepth 1 -type d); do
    echo -e "${ii}\t$(find "${ii}" -type l -o -type d -o -type f | wc -l)"
done | sort -n -k 2 | column -t
for i in `find . -type d `; do echo `ls -a $i | wc -l` $i; done | sort -n

Dans mon cas, j’avais deux répertoires avec beaucoup de inodes:

  • /proc/p_id/    p_id correspondait à un container docker Selenium
  • /var/lib/docker

J’ai donc commencé par arrêter le container docker (“docker  stop container_id”), mais cela n’a pas libéré beaucoup d’inodes.

Clean Docker

Supprimer les images qui ne sont plus utilisées :

docker images
#puis 
docker rmi -f image_id

Supprimer les images que l’on ne voit pas:

docker ps -a
#puis, sur les images Exited (0)
docker rm -v container_id

Cela a suffit dans mon cas.

http://blog.yohanliyanage.com/2015/05/docker-clean-up-after-yourself/

 

Tagués avec :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*