Ich versuche, einen Docker-Container mit diesem Befehl zu löschen:
docker rmi <Image-Id>
Offensichtlich habe ich die Bild-ID durch die ID ersetzt, die ich verwende:
docker images
Aber ich sehe den Fehler unten:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
docker
docker-container
Mehrdad Babaki
quelle
quelle
Sie müssen den gestoppten Container mit löschen
docker rm
, und dann können Sie das Bild löschen, mit dem er verwendet wirddocker rmi
.quelle
Möglicherweise haben Sie auch Container gestoppt, die die Sperre verursachen. Entfernen Sie diese zuerst mit:
Hier listen wir die Docker-Prozesse nur anhand der ID auf und entfernen diese dann. Docker rm entfernt jedoch nur gestoppte Container.
Als nächstes gehen Sie zurück und entfernen Sie die Bilder mit:
quelle
Sie müssen zuerst den Container entfernen.
Forced ist die letzte Methode.
quelle
Falls
docker rmi <image-id>
es nicht funktioniert hat, versuchen Sie Folgendes:Stoppen Sie alle laufenden Container
Entfernen Sie alle Behälter
Entfernen Sie alle Bilder
quelle
Zusätzlich zu den anderen Antworten hatte ich das gleiche Problem mit Docker für Mac,
docker ps -a
zeigte jedoch keine laufenden Container an. Laufendedocker images
Shows:Alle diese Bilder werden von der Docker-App verwendet, wenn Sie Kubernetes aktiviert haben. In den Docker für Mac-Einstellungen gibt es einen Abschnitt für Kubernetes. Wenn Sie auf "Systemcontainer anzeigen (erweitert)" klicken, werden diese in angezeigt
docker ps
.Wenn Sie diese Bilder löschen möchten, müssen Sie Kubernetes über die Docker for Mac-App deaktivieren und es erneut versuchen.
quelle
Docker-Container werden über Docker-Images ausgeführt. Sie können ein Image nur löschen, wenn es keinem Container zugeordnet ist.! Sie müssen also den Container stoppen und den Container entfernen, dann können Sie die Image-ID entfernen.
Docker stoppen Container-ID und Docker rm Container-ID
Versuchen Sie dann, die Image-Docker-Rmi-Image-ID zu entfernen
Einige zusätzliche Informationen finden Sie unter dem folgenden Link. Prost.!
https://docs.docker.com/config/pruning/
quelle
Wenn das Ziel darin besteht, Speicherplatz zurückzugewinnen, ist ein anderer Ansatz, der noch nicht erwähnt wurde, die Verwendung
docker system prune
. Es wird eine Warnung ausgegeben, die beachtet werden sollte:Dadurch werden benannte Bilder nicht gelöscht, aber unbenannte Zwischenbilder werden gelöscht. Abhängig von der Größe der von Ihnen verwendeten Container kann dadurch eine erhebliche Menge an Speicherplatz eingespart werden.
quelle
Wenn Sie das geändert haben
Dockerfile
und Docker Compose verwenden, können Sie Ihr Image einfach neu erstellen, indem Sie esdocker-compose
mit der--build
Option ausführen !quelle
Dockerfile
vorgenommen haben, sollten Sie das Bild nicht selbst entfernen. Verwenden Sie einfach das Flag--build
mit,docker-compose
damit ein neues Bild mit den Änderungen neu erstellt wird