Wie lösche ich alle Laufenden Docker-Container?
Ich erinnere mich, mit
docker rm -f `docker ps -aq`
zur Kette der Befehle ohne ein Problem vor ein paar Monaten, aber jetzt funktioniert das nicht, und ich bekomme die folgende Ausgabe:
unknown shorthand flag: 'a' in -aq`
See 'docker rm --help'.
Was geändert? Wie kann ich löschen Sie alle Andockfenster ausgeführt Container in einer Zeile? Falls es hilft, ich bin mit Docker für Windows (native mit Hyper-V, nicht mit VirtualBox) unter Windows 10, und der Befehl, den ich verwendet, hat alles geklappt mit meinem vorherigen Windows-8-Andockfenster toolbox installation.
- Das sieht korrekt zu mir (ich benutze die exakt gleiche Befehl, wenn auch auf OSX). Aktualisieren Sie vor kurzem? (Könnte eine regression in Docker für Windows)
- FWIW, haben Sie versucht
--all
statt-a
, nur um zu sehen, was passiert? - Ja, versuchen, die Renditen
unknown flag: --all
- Was ist Ihre docker-version?
- Was ist das Ergebnis
docker ps --help
? docker ps -aq
funktioniert einwandfrei und liefert die IDs von allen meinen Container.docker rm -f <id>
funktioniert auch vollkommen in Ordnung und entfernt alle docker-container, die ich möchte. Es ist die Verkettung, ich habe Probleme mit- Mögliche Duplikate von Wie entfernen von alten Docker-Container
- Welches OS und welche shell? Sind Sie sicher, dass Sie verwendet backticks? Die Ausgabe von
docker ps -aq
ohne diedocker rm
Befehl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bis jetzt (Docker version 1.12) sind wir mit dem folgenden Befehl löschen Sie alle Laufenden Container (auch, wenn wir wollen, zum löschen der volumes, die wir tun können, die manuell über den jeweiligen tag -v der folgende Befehl),
Löschen Sie alle Verlassen Containern
Löschen Sie alle Gestoppt Container
Löschen Alle Ausgeführt und Gestoppt Container
Entfernen Sie alle Behälter, ohne irgendwelche Kriterien,
Aber, in der version 1.13 und höher, für das komplette system und die Aufräumarbeiten können wir direkt Benutzer den folgenden Befehl ein,
Alle nicht verwendeten Container, Bilder, Netzwerke und volumes werden gelöscht. Auch einzeln, d.h. separat, das können wir machen verwenden der folgenden Befehle ein, reinigen die Komponenten,
-aq
statt-a -q
angeben die flags.Hatte ich dieses Problem beim ausführen in cmd. Eingeschaltet, um PowerShell-und es funktionierte!
Verwenden:
Wenn das jemand braucht, die Windows-Shell-Befehl (stop und entfernen container), hier ist es:
Wenn man es in eine batch-Datei, fügen Sie einfach % zu %c:
Ich habe das gleiche problem: ich war auf einer Windows-Maschine und verwendet Docker innerhalb von VirtualBox und der Befehl
docker rm -f ${docker ps -aq}
gut funktioniert. Dann wechselte ich zu Docker für Windows und der Befehl hat nicht funktioniert auf der Windows-Kommandozeile.Aber mit Cygwin oder Git Bash das problem bei mir gelöst.
Wenn der Behälter ausgeführt wird, können Sie nicht löschen Sie das Bild. Erster halt alle Container mit dem folgenden Befehl.
docker stop $(docker ps -aq)
sagen Sie läuft halt gegen die Ausgabe von docker ps -aq.
'a' - Holen Sie mir alle Container
'q' - zurückgeben nur die container-id.
Dann führen Sie den folgenden Befehl, um alle Container.
docker rm $(docker ps -aq)
Verwenden:
Wenn zuvor gestoppt Behälter:
Einzigen Befehl löschen Sie alle stoppen und laufen Behälter (zuerst stop und dann einfach beschneiden/entfernen. Für mich funktioniert die ganze Zeit.
docker stop $(docker ps -a -q) && docker container prune -a
Versuchen Sie diesen Befehl verwenden.