Das Problem
Wenn Sie versuchen, ein Docker-Image zu entfernen, erhalten Sie eine Fehlermeldung wie unten gezeigt.
# docker rmi d123f4e55e12 Error response from daemon: conflict: unable to delete d123f4e55e12 (cannot be forced) - image is being used by running container 0f1262bd1285
Damit dieser Fehler auftritt, muss auf dem System ein Container vorhanden sein, der vom Image abhängig ist. Der Fehler meldet, welcher Container das Image verwendet, entfernen Sie den Container, bevor Sie das Image entfernen.
Lösung
1. Sie haben mehrere Docker-Images vom Docker-Hub auf Ihren Docker-Knoten gezogen. Und Sie möchten das Centos-Image aus dem Docker-Knoten löschen.
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE fedora latest 422dc563ca32 3 days ago 252MB ubuntu latest dd6f76d9cc90 13 days ago 122MB hello-world latest 725dcfab7d63 2 weeks ago 1.84kB centos latest d123f4e55e12 2 weeks ago 197MB
2. Verwenden Sie den folgenden Befehl, um herauszufinden, welcher Container das Centos-Image verwendet.
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f1262bd1285 centos "/bin/bash" 5 minutes ago Up 5 minutes dreamy_gates
Wie Sie in der obigen Ausgabe sehen können, verwendet der Docker-Container „dreamy_gates“ unser Centos-Image.
3. Zuerst müssen wir den Container „dreamy_gates“ stoppen. Verwenden Sie dazu den folgenden Befehl:
# docker stop 0f1262bd1285 0f1262bd1285
4. Jetzt können Sie den Docker-Container löschen.
# docker rm 0f1262bd1285 0f1262bd1285
5. Und schließlich können Sie das Docker-Image für Centos löschen.
# docker rmi d123f4e55e12 Untagged: centos:latest Untagged: centos@sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Deleted: sha256:d123f4e55e1200156d9cbcf4421ff6d818576e4f1e29320a408c72f022cfd0b1 Deleted: sha256:cf516324493c00941ac20020801553e87ed24c564fb3f269409ad138945948d4
6. Überprüfen Sie mit dem Befehl „docker images“.
, ob das Image gelöscht wurde# docker images