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/

 

Laisser un commentaire

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

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.