Ausgabe von docker version
:
Client:
Version: 1.8.2-el7.centos
API version: 1.20
Package Version: docker-1.8.2-10.el7.centos.x86_64
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
Server:
Version: 1.8.2-el7.centos
API version: 1.20
Package Version:
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
Ausgabe von docker info
:
Containers: 0
Images: 130
Storage Driver: devicemapper
Pool Name: docker-253:0-3221586422-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: xfs
Data file: /dev/loop4
Metadata file: /dev/loop5
Data Space Used: 107.4 GB
Data Space Total: 107.4 GB
Data Space Available: 0 B
Metadata Space Used: 60.92 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.087 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 12
Total Memory: 31.2 GiB
Name: IP-5-14
ID: DNOS:FC2P:2WH4:OSYL:L2CH:U7HZ:MFL2:ZID3:SYTX:JWKP:TGIN:YYPB
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Zusätzliche Umgebungsdetails (AWS, VirtualBox, physisch usw.):
Schritte zum Reproduzieren des Problems:
Ich möchte mein Docker-Image namens Gateway mit dem folgenden cmd ausführen. (In der Docker-Datei des Gateways wurde ein No-Daemon-Einstiegspunkt festgelegt.)
docker run -d -P gateway
Beschreiben Sie die Ergebnisse, die Sie erhalten haben:
Der Container kann wie gewohnt ausgeführt werden
Beschreiben Sie die erwarteten Ergebnisse:
[root@IP-5-14 devicemapper]# docker run -d -P gateway
Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed
Zusätzliche Informationen, die Sie für wichtig halten (z. B. tritt das Problem nur gelegentlich auf):
docker info
zeigt, wurde der Datenraum auf die Schwelle von 100 GB angehoben.docker rm -f $(docker ps -a -q)
lösche. Alle Container wurden entfernt, aber der folgende Fehler wurde gemeldet:Error response from daemon: Cannot destroy container 5d5eed10468b: Driver devicemapper failed to remove root filesystem 5d5eed10468b809475b0eb23bda167e1a962d32092a348936d56e27417dbf578: Error running DeleteDevice dm_task_run failed
docker ps -a
verwendet, um sicherzustellen, dass alle Container entfernt wurden, nachdem ich Schritt 2 ausgeführt hatte. Das cmd-Ergebnis ist leer. aber Fehler treten (unten) auf, wenn ich ein NONE-Bild lösche[root@IP-5-14 devicemapper]# docker rmi 6fdebd7b0eb5
Error response from daemon: Conflict, cannot delete because 6fdebd7b0eb5 is held by an ongoing pull or build
Error: failed to remove images: [6fdebd7b0eb5]
Kann mir jemand einen Gefallen tun? Vielen Dank
Sie müssen den für Ihre Container zulässigen Pool erhöhen. Dazu müssen Sie Ihre var/lib/docker entfernen, wodurch alle Ihre Container und Bilder zerstört werden.
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Dadurch wird Ihr Speicherplatz auf 300 GB belegt
Löst dies Ihr Problem? Versuchen Sie außerdem, Docker-Prozesse zu stoppen, Docker erneut zu starten und zu sehen, ob Sie die Bilder entfernen können
Devicemapper, dem der Speicherplatz ausgeht, kann in der Tat sehr schwierig sein; Wir verfolgen diesbezügliche Probleme unter https://github.com/docker/docker/issues/20272.
Für Docker 1.11 gibt es eine neue Option, um eine Mindestmenge an freiem Speicherplatz anzugeben, die beibehalten werden soll, und würde verhindern, dass Sie in diese Situation gelangen. siehe https://github.com/docker/docker/pull/20786
Ich werde dieses Thema schließen, da ich denke, dass dies kein Fehler ist, sondern eine Support-Frage, aber Sie können die Diskussion hier gerne fortsetzen
okay. vielen Dank. Hoffe auf die neuen Features von Docker1.11
Hilfreichster Kommentar
Sie müssen den für Ihre Container zulässigen Pool erhöhen. Dazu müssen Sie Ihre var/lib/docker entfernen, wodurch alle Ihre Container und Bilder zerstört werden.
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Dadurch wird Ihr Speicherplatz auf 300 GB belegt
Löst dies Ihr Problem? Versuchen Sie außerdem, Docker-Prozesse zu stoppen, Docker erneut zu starten und zu sehen, ob Sie die Bilder entfernen können