Docker-Fehler: Kein Platz mehr auf dem Gerät

329

Ich habe Docker auf folgende Weise auf einem Debian 7-Computer installiert

$ echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list
$ sudo apt-get update
$ curl -sSL https://get.docker.com/ubuntu/ | sudo sh

Danach, als ich zum ersten Mal versuchte, ein Image zu erstellen, schlug es mit dem folgenden Fehler fehl

 time="2015-06-02T14:26:37-04:00" level=info msg="[8] System error: write /sys/fs/cgroup/docker/01f5670fbee1f6687f58f3a943b1e1bdaec2630197fa4da1b19cc3db7e3d3883/cgroup.procs: no space left on device"

Hier ist die Docker-Info

Containers: 2
Images: 21
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 25
Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.16.0-0.bpo.4-amd64
Operating System: Debian GNU/Linux 7 (wheezy)
CPUs: 2
 Total Memory: 15.7 GiB


WARNING: No memory limit support
 WARNING: No swap limit support

Wie kann ich den Speicher erhöhen? Wo sind die Systemkonfigurationen gespeichert?

Aus Kals Vorschlägen:

Als ich alle Bilder und Container loswurde, wurde Speicherplatz frei und der Image-Build lief länger, bevor er mit demselben Fehler fehlschlug. Die Frage ist also, auf welchen Bereich sich dies bezieht und wie ich ihn konfiguriere.

user_mda
quelle
1
Abhängig von Ihrem Speicher-Backend können Sie manchmal eine Größenbeschränkung pro Container erreichen . Dieser Link zeigt, wie man es für Devicemapper behebt.
Jpaugh
4
Ich hatte diesen Fehler, als meine Festplatte keine Inodes mehr hatte. Überprüfen Siedf -ih
Kevin Smyth
@ KevinSmyth Vielen Dank für den Hinweis. Ich war mir vorher nicht einmal der Bedeutung von Inode-Grenzwerten bewusst.
Josefrow

Antworten:

337

Ich hatte den gleichen Fehler und löste ihn folgendermaßen:

1. Löschen Sie die verwaisten Volumes in Docker. Sie können den integrierten Docker-Volume-Befehl verwenden. Der integrierte Befehl löscht auch alle Verzeichnisse in / var / lib / docker / volume, die kein Volume sind. Stellen Sie daher sicher, dass Sie dort nichts gespeichert haben, was Sie speichern möchten.

Warnung Seien Sie dabei sehr vorsichtig, wenn Sie Daten haben, die Sie behalten möchten

Aufräumen:

$ docker volume rm $(docker volume ls -qf dangling=true)

Zusätzliche Befehle:

Liste baumelnder Bände:

$ docker volume ls -qf dangling=true

Alle Bände auflisten:

$ docker volume ls

2. Entfernen Sie auch alle nicht verwendeten Bilder.

Entfernen Sie zuerst die <none>Bilder (diese werden manchmal beim Erstellen eines Bildes generiert, und wenn das Erstellen des Bildes aus irgendeinem Grund unterbrochen wurde, bleiben sie dort).

Hier ist ein schönes Skript, mit dem ich sie entferne

docker rmi $(docker images | grep '^<none>' | awk '{print $3}')

Wenn Sie dann Docker Compose verwenden, um Bilder für jedes Projekt lokal zu erstellen. Sie werden am Ende viele Bilder haben, die normalerweise wie Ihr Ordner benannt sind (wenn Ihr Projektordner beispielsweise Hallo heißt, finden Sie den Namen der Bilder Hello_blablabla). Ziehen Sie daher auch in Betracht, alle diese Bilder zu entfernen

Sie können das obige Skript bearbeiten, um sie zu entfernen, oder sie manuell mit entfernen

docker rmi {image-name}

Mahmoud Zalt
quelle
23
Nur ein Hinweis: awk-Befehle auf einem Mac müssen in einfache Anführungszeichen und nicht in doppelte Anführungszeichen gesetzt werden, da sie sonst einfach ignoriert werden.
Ndtreviv
2
Ich bin auf MAC und es funktioniert für mich !! aber danke für den rat.
Mahmoud Zalt
2
Wie seltsam! Es funktioniert nicht bei mir. Druckt einfach die gleichen Ergebnisse wie das grep aus. Ah, gut. Es sind seltsamere Dinge passiert.
Ndtreviv
3
Zu diesem Zeitpunkt können Sie denselben Filter für Bilder verwenden. docker images -qf dangling=trueund natürlich mit entfernen docker rmi $(docker images -qf dangling=true).
Tyler Jones
3
Ich erhalte eine Fehlermeldung: "Docker Volume RM" erfordert mindestens 1 Argument (e).
IgorGanapolsky
325

UPDATE
Die folgenden Befehle wurden zu Hacks, da Docker weiterentwickelt wurde. Die derzeitige Best Practice ist

docker system prune

Dadurch wird Folgendes entfernt:

- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images

Wie unten ist dies nuklear.


Um Ihr System zu reinigen, entfernen Sie zuerst die Behälter

$ docker rm $(docker ps -aq)

Entfernen Sie dann die Bilder

$ docker rmi $(docker images -q)

Dies ist natürlich nuklear und entfernt alle Container und alle Bilder. Sie können sie einzeln über docker rm #CONTAINER_ID#und entfernen docker rmi #IMAGE_ID.

Joshua Cook
quelle
2
Wie Kevin Smyth betonte, ist dieser Fehler wahrscheinlich darauf zurückzuführen, dass Ihnen die Inodes ausgehen, mit denen Sie sehen können df -ih. Um eine chirurgischere Diagnose zu stellen, geben Sie ncduc ein, um die Anzahl der Dateien zu bestimmen, und C, um nach der Anzahl der Dateien zu sortieren, um eine grobe Schätzung der Verwendung all Ihrer Inodes zu erhalten. Wenn das Problem tatsächlich ein Docker ist, wird es von den Verzeichnissen mit den meisten Inodes sofort ersichtlich.
Josefrow
4
"Docker System Prune" hat bei mir funktioniert.
Donald.McLean
2
Wirklich sollte dies hochgestimmt und eine Antwort gegeben werden, da es der richtige Ansatz ist. Die Umgebung für das Bauen wurde verschmutzt und jetzt kann es hier und da vorübergehend docker system prune
behoben werden
@zhrist Haha Ich stimme zu
Joshua Cook
Dies ist eine Problemumgehung und keine Lösung.
Coler-J
70

Stellen Sie sicher, dass auf / var freier Speicherplatz vorhanden ist, da Docker hier standardmäßig die Bilddateien speichert (in / var / lib / docker).

Räumen Sie zuerst auf, indem Sie docker ps -aalle Container (einschließlich der gestoppten) auflisten und docker rmentfernen. Verwenden docker imagesSie dann, um alle gespeicherten Bilder aufzulisten und docker rmizu entfernen.

Ändern Sie als Nächstes den Speicherort mit der Option -g auf dem Docker-Daemon oder /etc/default/dockerindem Sie die -gOption bearbeiten und hinzufügen DOCKER_OPTS. -gGibt den Speicherort der "Docker-Laufzeit" an. Dies ist im Grunde alles, was Docker beim Erstellen von Images und Ausführen von Containern erstellt. Wählen Sie einen Speicherort mit viel Speicherplatz, da der verwendete Speicherplatz mit der Zeit tendenziell wächst. Wenn Sie bearbeiten /etc/default/docker, müssen Sie den Docker-Daemon neu starten, damit die Änderung wirksam wird.

Jetzt sollten Sie in der Lage sein, ein neues Image zu erstellen (oder eines von Docker Hub abzurufen), und Sie sollten eine Reihe von Dateien sehen, die in dem Verzeichnis erstellt werden, das Sie mit der Option -g angegeben haben.

Kal
quelle
Danke Kal, ich konnte keine Dokumentation zu DOCKER_OPTS finden. Was bedeutet die Option -g und worauf sollte sie eingestellt werden? Kann das Zeug unter docker / aufs / mnt auch gelöscht werden?
user_mda
Hey Ruby, ich glaube nicht, dass ich jemals ein echtes Dokument über DOCKER_OPTS gefunden habe, aber es gibt hier und da Stellen in der Dokumentation, die über das Bearbeiten sprechen. Das nächste, das ich finden kann, befindet sich am Ende von docs.docker.com/installation/ubuntulinux/…, wo es um das Bearbeiten der DNS-Einstellungen in DOCKER_OPTS geht. Die Optionen in DOCKER_OPTS werden nur an den Daemon übergeben, daher lautet die Referenz dafür docs.docker.com/reference/commandline/cli/#daemon . -g legt den
Kal
Kann das Zeug unter docker / aufs / mnt auch gelöscht werden?
user_mda
Löschen Sie das Zeug nicht manuell. Löschen Sie stattdessen alle Container (einschließlich der verlassenen) und Bilder, die Sie nicht benötigen. Sie sollten dies tun, bevor Sie die Option -g ändern. Verwenden Sie docker ps -adiese Option, um alle Container (einschließlich der verlassenen) aufzulisten und anschließend docker rmzu entfernen. Verwenden Sie docker imagesdiese Option, um alle Bilder aufzulisten und anschließend docker rmizu entfernen. Hoffentlich sollte das alles (oder die meisten Dinge) aufräumen.
Kal
Vielen Dank, also haben die Bilder und Container etwas Platz frei gemacht. Aber das neuere Image benötigt noch mehr. Auf was sollte die Docker-Laufzeit jedoch zeigen? Gibt es eine Möglichkeit, den vom Docker zum Speichern von Bildern verwendeten Speicherplatz zu vergrößern?
user_mda
37

Wie bereits erwähnt,

docker system prune

hilft, aber mit Docker 17.06.1 und höher, ohne nicht verwendete Volumes zu bereinigen. Seit Docker 17.06.1 werden mit dem folgenden Befehl auch Volumes beschnitten:

docker system prune --volumes

Aus der Docker-Dokumentation: https://docs.docker.com/config/pruning/

Der Docker-System-Bereinigungsbefehl ist eine Verknüpfung, mit der Bilder, Container und Netzwerke beschnitten werden. In Docker 17.06.0 und früheren Versionen werden Volumes ebenfalls bereinigt. In Docker 17.06.1 und höher müssen Sie das Flag --volumes für Docker-System angeben, um Volumes zu bereinigen.

Wenn Sie Volumes beschneiden und Bilder und Container behalten möchten:

docker volume prune
RoBeaToZ
quelle
3
docker volume prunehat mir heute geholfen, als alle anderen Lösungen hier nicht mehr funktionierten.
AVProgrammer
1
Riesige Hilfe - zusätzlich zur Behebung des Fehlers wurden viele Gigs Speicherplatz auf meiner Festplatte frei.
Matt Browne
29

Wenn es sich nur um eine Testinstallation von Docker handelt (dh nicht um eine Produktion) und Sie sich nicht für eine nukleare Reinigung interessieren, können Sie:

Reinigen Sie alle Behälter: docker ps -a | sed '1 d' | awk '{print $1}' | xargs -L1 docker rm

Alle Bilder reinigen: docker images -a | sed '1 d' | awk '{print $3}' | xargs -L1 docker rmi -f

Auch dies verwende ich in meinen ec2-Instanzen bei der Entwicklung von Docker, nicht in ernsthaften QS- oder Produktionspfaden. Das Tolle ist, wenn Sie Ihre Docker-Datei (en) haben, ist es einfach, sie neu zu erstellen und / oderdocker pull .

James
quelle
1
In meiner boot2docker-Instanz musste ich aufrufen docker images -a | sed '1 d' | awk '{print $3}' | xargs docker rmi -f. Die OS X BSD-Version von xargsunterstützt diese -LOption im Gegensatz zur boot2docker-Version.
Orluke
1
Sie können docker ps -a -qusw. verwenden, um die Textmanipulationen zu vermeiden, dh docker rm $(docker ps -a -q); docker rmi -f $(docker images -a -q)sollten den Trick tun
Niklas B.
20

um alle nicht verwendeten Container, Volumes, Netzwerke und Images gleichzeitig zu entfernen ( https://docs.docker.com/engine/reference/commandline/system_prune/#related-commands ):

docker system prune -a -f --volumes

Wenn es nicht ausreicht, kann man zuerst laufende Container entfernen:

docker rm -f $(docker ps -a -q)
docker system prune -a -f --volumes

Das Erhöhen von / var / lib / docker oder die Verwendung eines anderen Speicherorts mit mehr Speicherplatz ist ebenfalls eine gute Alternative, um diesen Fehler zu beheben (siehe Ändern des Installationsverzeichnisses für das Docker-Image? ).

Guillaume
quelle
docker system pruneentfernt keine Volumes.
Bonifacio2
1
docker system prune -a -f --volumesentfernt Volumes.
Jimson Kannanthara James
19

Docker für Mac

Also docker system pruneund docker system prune --volumesin anderen Antworten vorgeschlagen, machte jedes Mal etwas Platz frei, aber schließlich bekam ich jedes Mal, wenn ich etwas ausführte, den Fehler.

Das eigentliche Problem wurde behoben,Docker.raw indem die Datei, die Docker für Mac für die Speicherung verwendet, gelöscht und neu gestartet wurde.

Um diese Datei zu finden, öffnen Sie Docker für Mac und gehen Sie zu *

Preferences > Resources > Advanced > Disk Image Location

* Dies ist für Version 2.2.0.5, aber bei älteren Versionen sollte es ähnlich sein

In neueren Versionen von Docker für Mac ** werden die tatsächliche Größe dieser Datei auf der Festplatte direkt in der Benutzeroberfläche sowie die maximal zugewiesene Größe angezeigt. Sie werden wahrscheinlich sehen, dass es massiv ist. Zum Beispiel auf meinem Computer waren es 41 GB !

** In älteren Versionen wird die tatsächliche Festplattennutzung in der Benutzeroberfläche nicht angezeigt, und im MacOS Finder wird die Dateigröße immer als maximal zugewiesene Größe angezeigt. Sie können die tatsächliche Größe auf der Festplatte überprüfen, indem Sie das Verzeichnis in einem Terminal öffnen und ausführendu -h Docker.raw

Ich habe Docker.rawDocker für Mac gelöscht , neu gestartet und die Datei wurde automatisch neu erstellt und hatte wieder 0 GB .

Alles funktionierte weiter wie zuvor , obwohl ich natürlich meinen Docker-Cache verloren hatte. Wie erwartet füllte sich die Datei nach dem Ausführen einiger Docker-Befehle wieder mit ein paar GB, aber bei weitem nicht mit 41 GB .


Aktualisieren

Ein paar Monate später Docker.rawfüllte ich mich wieder auf eine ähnliche Größe. Diese Methode hat also funktioniert, muss aber alle paar Monate wiederholt werden. Für mich ist das in Ordnung.

Ein Hinweis, warum dies funktioniert - ich muss davon ausgehen, dass es sich um einen Fehler in Docker für Mac handelt. Es scheint wirklich so, als ob docker system prune/ docker system prune --volumessollte der Inhalt dieser Datei vollständig gelöscht werden, aber es scheint, dass die Datei andere Inhalte ansammelt, die mit diesen Befehlen nicht gelöscht werden können. Das manuelle Löschen löst das Problem!

davnicwil
quelle
Minen waren 116 GB wtf ...
CW0007007
15

Docker hinterlässt baumelnde Bilder, die Ihren Platz beanspruchen können. Führen Sie die folgenden Schritte aus, um nach Docker zu bereinigen:

docker image prune [-af if you want to force remove all images]

oder mit älteren Versionen von Docker:

docker rm $(docker ps -q -f 'status=exited')
docker rmi $(docker images -q -f "dangling=true")

Dadurch werden verlassene und baumelnde Bilder entfernt, wodurch hoffentlich Speicherplatz auf dem Gerät frei wird.

Punkrockpolly
quelle
14
  1. Reinigen Sie baumelnde Bilder docker rmi $(docker images -f "dangling=true" -q)
  2. Entfernen Sie unerwünschte Volumes
  3. Entfernen Sie nicht verwendete Bilder
  4. Entfernen Sie nicht verwendete Behälter
josepainumkal
quelle
Für mich war das Problem, zu viele Bilder zu haben. Nach dem Aufräumen funktioniert Docker wieder.
Tran Triet
9

Sie können auch verwenden:

docker system prune

oder nur für Bände:

docker volume prune
alexanoid
quelle
7

In meinem Fall hat die Installation von Ubuntu-Server 18.04.1 [aus irgendeinem seltsamen Grund] ein logisches LVM-Volume mit nur 4 GB Größe anstelle von 750 GB erstellt. Daher würde beim Abrufen von Bildern der Fehler "Kein Speicherplatz mehr auf dem Gerät" angezeigt. Das Update ist einfach:

lvextend -l 100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Kostyantyn
quelle
.. siehe meine Schritt-für-Schritt-Beschreibung für resize2fs im folgenden Thread: stackoverflow.com/questions/32485723/…
Alex
7

Ich bin auch auf dieses Problem bei RHEL-Computern gestoßen. Ich habe nirgendwo eine passende Lösung für die Stack-Overflow- und Docker-Hub-Community gefunden. Wenn Sie dieses Problem auch nach dem folgenden Befehl haben:

Docker-System beschneiden - alle

Die Lösung, die endlich funktioniert hat:

  1. Docker-Info
    • So überprüfen Sie den aktuellen Docker-Speichertreiber
    • Meins war: Storage Driver: Devicemapper; Wenn Sie einen Speichertreiber als Overlay2 haben, brauchen Sie sich keine Sorgen zu machen. Die Lösung funktioniert weiterhin für Sie.
  2. df -h
    • Hiermit überprüfen Sie die verfügbaren Dateisysteme auf dem Computer und den Pfad, in dem sie bereitgestellt werden. Zwei montierte Pfade, um eine Notiz zu haben:
    • / dev / mapper / rootvg-var 7.6G 1.2G 6.1G 16% / var
    • / dev / mapper / rootvg-apps 60G 9.2G 48G 17% / apps
    • Hinweis - Standardmäßig lautet der Docker-Speicherpfad / var / lib / docker. Es hat verfügbaren Speicherplatz ~ 6 GB und damit alle Speicherplatzprobleme. Im Grunde muss ich den Standardspeicher in einen anderen Speicher verschieben, in dem mehr Speicherplatz verfügbar ist. Für mich ist der Dateisystempfad '/ dev / mapper / rootvg-apps' auf / apps gemountet. Jetzt besteht die Aufgabe darin, / var / lib / docker in etwas wie / apps / newdocker / docker zu verschieben.
  3. mkdir / apps / newdocker / docker
  4. chmod -R 777 / apps / newdocker / docker
  5. Aktualisieren Sie die Datei docker.serive unter Linux unter / usr / lib / systemd / system
    • vi /usr/lib/systemd/system/docker.service
  6. Wenn das Speichergerät ein Devicemapper ist, kommentieren Sie die vorhandene ExecStart-Zeile und fügen Sie sie unten unter [Service] hinzu:
    • ExecStart =
    • ExecStart = / usr / bin / dockerd -s devicemapper --storage-opt dm.fs = xfs --storage-opt dm.basesize = 40 GB -g / apps / newdocker / docker --exec-opt native.cgroupdriver = cgroupfs
  7. Oder wenn das Speichergerät Overlay2 ist:
    • Fügen Sie einfach -g / apps / newdocker / docker in die vorhandene ExexStart-Anweisung ein.
    • So etwas wie ExecStart = / usr / bin / dockerd -g / apps / newdocker / docker -H fd: // --containerd = / run / Containerd / containerd.sock
  8. rm -rf / var / lib / docker (Alle vorhandenen Docker-Daten werden gelöscht.)
  9. systemctl stop docker
  10. ps aux | grep -i docker | grep -v grep
    • Wenn mit dem obigen Befehl keine Ausgabe erzeugt wurde, laden Sie den systemd-Daemon mit dem folgenden Befehl neu.
  11. systemctl daemon-reload
  12. Systemctl Docker starten
  13. Docker-Info
    • Überprüfen Sie den verfügbaren Datenbereich: 62,15 GB, nachdem Sie das Docker für ein neues Dateisystem aktiviert haben.
  14. ERLEDIGT
Mayank Chaudhary
quelle
Ich habe in allen Dokumenten nachgesehen, wie dies erreicht werden kann! Danke mein Herr. Können wir dies als eine der Antworten markieren?
Vulegend
6

Reinigen Sie Docker mit dem folgenden Befehl:

docker images --no-trunc | grep '<none>' | awk '{ print $3 }' \
| xargs docker rmi
Ashok Waghmare
quelle
4

Ihre Gruppen haben die cpuset Controller aktiviert. Dieser Controller ist vor allem in NUMA-Umgebungen nützlich, in denen genau festgelegt werden kann, welche CPU / Speicherbank Ihre Aufgaben ausführen dürfen.

Standardmäßig sind die obligatorischen cpuset.memsundcpuset.cpus nicht festgelegt, was bedeutet, dass für Ihre Aufgabe "kein Platz mehr vorhanden ist", daher der Fehler.

Der einfachste Weg, dies zu beheben, besteht darin cgroup.clone_children, 1 in der Stammgruppe zu aktivieren. In Ihrem Fall sollte es sein

echo 1 > /sys/fs/cgroup/docker/cgroup.clone_children

Grundsätzlich wird das System angewiesen, Container cpuset.memsund cpuset.cpusderen übergeordnete cgroup automatisch zu initialisieren .

Yadutaf
quelle
1
Dies ist die richtige Antwort. Ein einfaches Upgrade von Docker auf irgendetwas> = Docker 1.8 sollte das Problem beheben. Dies hängt mit github.com/opencontainers/runc/issues/133 zusammen . Eine weitere mögliche echo 0 > /sys/fs/cgroup/cpuset/system.slice/cpuset.mems
Problemumgehung
2

Wenn Sie das boot2docker-Image über das Docker Toolkit verwenden, ist das Problem darauf zurückzuführen, dass der virtuellen boot2docker-Maschine nicht genügend Speicherplatz zur Verfügung steht.

Wenn Sie ein docker importBild erstellen oder ein neues hinzufügen, wird das Bild in das Bild kopiert, /mnt/sda1das möglicherweise voll geworden ist.

Eine Möglichkeit zu überprüfen, welcher Speicherplatz im Image verfügbar ist, besteht darin, in die VM zu ssh df -hund den verbleibenden Speicherplatz in / mnt / sda1 auszuführen und zu überprüfen

Der Befehl ssh lautet docker-machine ssh default

Sobald Sie sicher sind, dass es sich tatsächlich um ein Speicherplatzproblem handelt, können Sie entweder gemäß den Anweisungen in einigen Antworten auf diese Frage bereinigen oder die Größe des boot2docker-Images selbst ändern, indem Sie den Speicherplatz vergrößern /mnt/sda1

Sie können den Anweisungen hier folgen, um die Größe des Bildes https://gist.github.com/joost/a7cfa7b741d9d39c1307 zu ändern

Nerrve
quelle
2

Wenn Sie Docker Desktop verwenden, können Sie die Größe des Festplattenabbilds in den erweiterten Einstellungen erhöhen, indem Sie die Docker- Einstellungen aufrufen .

Hier ist der Screenshot von macOS:

Docker Desktop unter MacOS, Ressourcen, Erweitert, Festplatten-Image-Größe

Kenorb
quelle
1

Dies kann an dem Standardspeicherplatz von 40 GB liegen (Standardpfad / var / lib / docker).

Sie können das Speichervolumen so ändern, dass es auf einen anderen Pfad verweist

  • Datei bearbeiten -> / etc / sysconfig / docker-storage
  • Update unter der Zeile (hinzufügen, falls nicht vorhanden)

DOCKER_STORAGE_OPTIONS = '- Speichertreiber = Overlay --graph = CUSTOM_PATH'

  • Starten Sie Docker Systemctl neu. Stoppen Sie Docker Systemctl Daemon-Reload Systemctl Starten Sie Docker

Wenn Sie Befehls-Docker-Informationen ausführen (der Speichertreiber sollte als Overlay angezeigt werden).

Ajit Ganiger
quelle
0

Es scheint, dass es einige Möglichkeiten gibt, wie dies geschehen kann. Das Problem, das ich hatte, war, dass das Docker-Disk-Image seine maximale Größe erreicht hatte (Docker Whale -> Einstellungen -> Disk, wenn Sie die Größe in OSX anzeigen möchten).

Ich erhöhte das Limit und war gut zu gehen. Ich bin sicher, dass das Aufräumen nicht verwendeter Bilder auch funktionieren würde.

SnellyBigoda
quelle
0

Ich führe die folgenden Befehle aus.

Es ist nicht erforderlich, Bilder anschließend neu zu erstellen.

docker rm $(docker ps -qf 'status=exited')
docker rmi $(docker images -qf "dangling=true")
docker volume rm $(docker volume ls -qf dangling=true)

Diese entfernen austretende / baumelnde Behälter und baumelnde Volumina.

M3RS
quelle
0

Für mich docker system prunehat der Trick getan. Ich verwende Mac OS.

Bildad N. Urandu
quelle
Dies funktionierte auch bei mir, als ich versuchte, den unter Mac OS verbrauchten Speicherplatz zu räumen. Die Verwendung des Befehls docker volume lsgab nichts zurück, daher schien es, als würde der Speicher hauptsächlich von Caches und baumelnden Bildern verwendet.
Tuhin
-3
$ docker rm $(docker ps -aq)

Das hat bei mir funktioniert

docker system prune 

scheint mit der neuesten Version eine bessere Option zu sein

htnawsaj
quelle