web-dev-qa-db-fra.com

Erreur d'exécution de Docker: "Thin Pool a des blocs de données libres inférieurs au minimum requis"

Nous essayons d'exécuter un menu fixe d'une manière qui fonctionnait auparavant, mais nous obtenons maintenant l'erreur "Thin Pool manque of space":

docker run --privileged -d --net=Host --name=fat-redis -v /fat/deploy:/fat/deploy -v /fat/fat-redis/var/log:/var/log -v /home:/home fat-local.indy.xiolab.myserv.com/fat-redis:latest /fat/deploy/docker/fat-redis/fat_start_docker_inner.sh
docker: Error response from daemon: devmapper: Thin Pool has 486 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior.
See 'docker run --help'.

Que signifie cette erreur? Nous avons essayé 'docker rmi' et le conseil de ici , mais tout cela en vain.

Des idées?

Je vous remercie

6
user3139774

L'exécution avec des données/métadonnées sur des périphériques en boucle était la valeur par défaut sur les anciennes versions de docker. Cela pose des problèmes et les versions plus récentes ont modifié cette valeur par défaut. Si docker a été configuré de cette manière, les mises à jour normales (par exemple via rpm/apt) ne modifient pas la configuration. C'est pourquoi une réinstallation complète était nécessaire pour résoudre le problème.

Voici un article avec des instructions sur la façon de configurer les anciennes versions pour ne pas utiliser de périphériques de bouclage: http://www.projectatomic.io/blog/2015/06/notes-on-Fedora-centos-and-docker- pilotes de stockage/

5
aaaarrgh

Vous n'avez pas à réinstaller Docker. Vous pouvez plutôt nettoyer tous les conteneurs, images, volumes, etc. sous /var/lib/docker directory.

Ces images pourraient à nouveau être extraites de vos référentiels Docker. (En supposant que vous utilisez cet hôte Docker uniquement pour créer des images Docker.)

3
Jerry Li

Mon problème n'était pas lié au problème de périphérique de bouclage, mais générait la même condition d'erreur. "docker images -a" affichait un numéro de balise name = none = none, qui prend de la place. Ces images ne "pendaient pas"; elles étaient référencées par une image active en cours et ne pouvaient pas être supprimées.

Ma solution était d'exécuter "docker save" et d'écrire l'image active dans un fichier tar, de supprimer l'image active (qui supprimait toutes les images enfants), puis d'exécuter "docker load -i" à partir du fichier tar et de créer une nouvelle image. . Plus d'erreurs liées à l'espace Thin Pool.

La réinstallation de docker l’aurait corrigée, tout simplement parce que la réinstallation de docker efface toutes les images, mais elle aurait recommencé à se reconstruire et j’aurais de nouveau rencontré ce problème à l’avenir.

2
JPS

Utilisé ce qui suit pour nettoyer les images inutiles. 

docker image Prune -a --force --filter "until=240h"

Reportez-vous au document pour plus de détails: https://docs.docker.com/engine/reference/commandline/image_Prune/

0
Raj

Il s’est avéré que réinstaller le menu fixe a fonctionné . Utilisez le lien suivant: https://docs.docker.com/engine/installation/linux/centos/

À votre santé

0
user3139774