Próbuję usunąć kontener Dockera za pomocą tego polecenia:
docker rmi <Image-Id>
Oczywiście zastąpiłem identyfikator obrazu identyfikatorem, którego używam:
docker images
Ale widzę błąd poniżej:
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
źródło
źródło
Musisz usunąć zatrzymany kontener za pomocą
docker rm
, a następnie możesz usunąć obraz, z którym korzystadocker rmi
.źródło
Może się również okazać, że zatrzymałeś kontenery powodujące blokadę. Usuń je najpierw, używając:
Tutaj wymieniamy procesy dockera tylko według identyfikatora, a następnie usuwamy je; jednak docker rm usunie tylko zatrzymane kontenery.
Następnie wróć i usuń obrazy za pomocą:
źródło
Najpierw musisz usunąć pojemnik.
Zmuszony to ostatnia metoda.
źródło
W razie
docker rmi <image-id>
nie zadziałało, spróbuj tego:Zatrzymaj wszystkie uruchomione kontenery
Usuń wszystkie pojemniki
Usuń wszystkie obrazy
źródło
Oprócz innych odpowiedzi miałem ten sam problem podczas korzystania z Dockera dla komputerów Mac, ale
docker ps -a
nie pokazałem żadnych uruchomionych kontenerów.docker images
Pokazy biegowe :Wszystkie te obrazy są używane przez aplikację Docker, jeśli masz włączoną usługę Kubernetes. W preferencjach Dockera na Maca znajduje się sekcja dotycząca Kubernetes. Jeśli klikniesz „Pokaż kontenery systemowe (zaawansowane)”, pojawią się one w
docker ps
.Jeśli chcesz usunąć te obrazy, musisz wyłączyć Kubernetes za pomocą aplikacji Docker na Maca, a następnie spróbować ponownie.
źródło
Kontenery platformy Docker działają na obrazach platformy Docker, możesz usunąć obraz tylko wtedy, gdy nie jest on dołączony do żadnego kontenera.! Musisz więc zatrzymać kontener i usunąć kontener, a następnie możesz usunąć identyfikator obrazu.
docker stop container-id i docker rm container-id
Następnie spróbuj usunąć obraz docker rmi image-id
Dodatkowe informacje podane w linku poniżej. Twoje zdrowie.!
https://docs.docker.com/config/pruning/
źródło
Jeśli celem jest odzyskanie miejsca na dysku, należy zastosować inną metodę, o której jeszcze nie wspomniano
docker system prune
. Wydrukuje ostrzeżenie, na które należy zwrócić uwagę:Nie spowoduje to usunięcia nazwanych obrazów, ale usunie pośrednie nienazwane obrazy. W zależności od rozmiarów używanych kontenerów może to zaoszczędzić znaczną ilość miejsca na dysku.
źródło
Jeśli dokonałeś zmian w
Dockerfile
i jeśli używasz docker compose, możesz po prostu odbudować swój obraz, uruchamiającdocker-compose
z--build
opcją!źródło
Dockerfile
nie powinieneś samodzielnie usuwać obrazu, po prostu użyj flagi--build
z,docker-compose
aby odbudować nowy obraz ze zmianami