webentwicklung-frage-antwort-db.com.de

Docker-Lauffehler: "Thin Pool verfügt über freie Datenblöcke, was weniger als erforderlich ist"

Wir versuchen, ein Docker auf eine Weise auszuführen, die früher funktioniert hat, aber jetzt wird der Fehler "Thin Pool Mangel an Speicherplatz" angezeigt:

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'.

Was bedeutet dieser Fehler? Wir haben 'docker rmi' und den Rat von hier ausprobiert, aber alles umsonst.

Irgendwelche Ideen?

Vielen Dank

6
user3139774

Bei älteren Docker-Versionen war das Ausführen von Daten/Metadaten über Loopback-Geräte der Standard. Es gibt Probleme damit und neuere Versionen haben diesen Standard geändert. Wenn das Andockfenster auf diese Weise konfiguriert wurde, ändern normale Aktualisierungen (z. B. über rpm/apt) die Konfiguration nicht. Aus diesem Grund war eine vollständige Neuinstallation erforderlich, um das Problem zu beheben.

Hier ist ein Artikel mit Anweisungen zum Konfigurieren älterer Versionen, um Loopback-Geräte nicht zu verwenden: http://www.projectatomic.io/blog/2015/06/notes-on-Fedora-centos-and-docker- Speichertreiber/

5
aaaarrgh

Sie müssen Docker nicht neu installieren. Sie können stattdessen alle Container, Images, Volumes usw. unter /var/lib/docker directory bereinigen.

Diese Bilder könnten erneut aus Ihren Docker-Repositories abgerufen werden. (Dies setzt voraus, dass Sie diesen Docker Host nur zum Erstellen von Docker-Images verwenden.)

3
Jerry Li

Mein Problem hatte nichts mit dem Loopback-Geräteproblem zu tun, erzeugte jedoch den gleichen Fehlerzustand. "docker images -a" zeigte eine Anzahl von Namen = kein Tag = keine Bilder, die Platz beanspruchen. Diese Bilder waren nicht "baumelnd"; Sie wurden von einem aktuell aktiven Image referenziert und konnten nicht gelöscht werden.

Meine Lösung bestand darin, "docker save" auszuführen und das aktive Image in eine tar-Datei zu schreiben, das aktive Image zu löschen (wodurch alle untergeordneten Images gelöscht wurden), anschließend "docker load -i" aus der tar-Datei auszuführen und ein einzelnes neues Image zu erstellen . Keine weiteren Fehler im Zusammenhang mit dem Speicherbereich des Thin Pools.

Eine Neuinstallation des Dockers hätte es korrigiert, einfach weil das Neuinstallieren des Dockers alle Bilder löscht, aber damit begonnen hätte, sich wieder aufzubauen, und dann wäre mir dieses Problem in Zukunft erneut begegnet.

2
JPS

Verwenden Sie Folgendes zum Bereinigen nicht benötigter Bilder. 

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

Weitere Informationen finden Sie in dem Dokument: https://docs.docker.com/engine/reference/commandline/image_Prune/

0
Raj

Es stellte sich heraus, dass die erneute Installation des Dockers den Trick ausgeführt hat. Verwenden Sie den folgenden Link: https://docs.docker.com/engine/installation/linux/centos/

Prost

0
user3139774