Warunek wstępny: Doker
W Doker , jeśli opuściliśmy kontener bez zatrzymywania go, musimy je zatrzymać ręcznie, ponieważ nie zatrzymał się on przy wyjściu. Podobnie w przypadku obrazów musimy je usunąć od góry do dołu, ponieważ niektóre kontenery lub obrazy mogą być zależne od obrazów podstawowych. Obraz podstawowy możemy w dowolnej chwili pobrać pod adresem. Dlatego dobrym pomysłem jest usunięcie niechcianych lub zwisających obrazów z bieżącego komputera.
Jak usunąć obrazy w oknie Docker?
Usuń obraz
Aby usunąć obraz według ImageId/Name, możemy użyć następującego polecenia. Aby dowiedzieć się więcej o tym, jak zbudować obraz dokera za pomocą Dockerfile, zobacz Koncepcja Dockerfile.
docker rmi>
Wymuś usunięcie obrazu
Aby wymusić usunięcie obrazów dokowanych według identyfikatora obrazu/nazwy, możemy użyć następującego polecenia.
docker rmi -f>
Notatka: Nie możemy usunąć obrazów na siłę ani normalnie, gdy kontener jest uruchomiony.
Wiszące obrazy
Wiszące obrazy to te, które nie są mapowane ani do repozytorium, ani do tagu. Używane polecenie polega na usunięciu wiszących obrazów. Aby dowiedzieć się więcej na temat tagowania obrazów Dockera, odwołaj się do tagów obrazów Dockera.
docker image prune>
Usuwanie wszystkich obrazów
Możemy usunąć wszystkie obrazy z maszyny dokującej, aby usunąć niechciany bałagan i przestrzeń w systemie. W każdym razie możemy pobrać najnowszą wersję lub obraz o określonej wersji z rejestru dokera lub z pamięci podręcznej.
docker rmi $(docker images -q)>

Jak usunąć kontenery w oknie dokowanym
Przed usunięciem kontenerów musimy najpierw zatrzymać kontener, w tym celu używamy polecenia.
docker stop>
Różnica między zatrzymaniem Dockera a Zabiciem Dockera
Zatrzymanie Dockera najpierw wyśle sygnał SIGTERM, a następnie zakończy proces sygnałem SIGKILL i okresem karencji. Kiedy Docker kill wysyła SIGKILL, natychmiast kończy proces.
- Zatrzymaj wszystkie działające kontenery: W celu zatrzymania kontenerów, które nie opuściły. Może się to zdarzyć, gdy polecenie użyte w obrazie Dockera pozostanie uruchomione. Polecenie powinno zostać zakończone, co z kolei spowoduje zatrzymanie kontenera. Aby zatrzymać kontener, gdy nie opuściłeś kontenera poprzez zatrzymanie polecenia, musisz uruchomić następujące polecenie.
docker stop $(docker ps -aq)>
- Usuń kontener: Jeśli kontener zostanie zatrzymany, możemy użyć następującego polecenia, aby usunąć kontener.
docker rm>
- Wymuś usunięcie kontenera: Możemy wymusić usunięcie uruchomionych kontenerów bez zatrzymywania ich, używając poniższego polecenia.
docker rm -f>

Usuń wszystkie kontenery
Aby usunąć wszystkie kontenery z maszyny dokującej, musimy uzyskać identyfikatory wszystkich kontenerów. Możemy po prostu uzyskać identyfikatory kontenerów za pomocą polecenia okno dokowane ps -aq , następnie za pomocą polecenia docker rm możemy usunąć wszystkie kontenery z maszyny dokującej.
docker rm $(docker ps -aq)>

Usuń wszystkie zatrzymane kontenery
Aby usunąć wszystkie zatrzymane/zakończone kontenery, możemy użyć filtrów w argumencie polecenia ps. Nie możemy bezpośrednio usunąć kontenera, jeśli nie jest on zatrzymany. Możemy zatrzymać kontenery, które nie zostały zakończone lub są uruchomione, używając argumentu -f polecenia ps w oknie dokowanym. Opcja -f lub –filter przyjmuje filtr taki jak status=exited lub status=uruchomiony lub nazwa i tak dalej. Możemy odfiltrować, aby zatrzymać określone kontenery zgodnie z wymaganiami.
docker rm $(docker ps -aq --filter status='exited')>
Po odfiltrowaniu działającego kontenera możemy użyć polecenia stop, aby zatrzymać te kontenery za pomocą opcji -q, aby wyciszyć identyfikatory numeryczne powiązane z tymi kontenerami.
docker stop $(docker ps --filter status=running -q)>
Spowoduje to zatrzymanie wszystkich kontenerów i dlatego możemy teraz usunąć kontenery z maszyny dokującej. Możemy nawet filtrować kontenery, które są tutaj zatrzymane, aby usunąć tylko te, których status to exit.
docker rm $(docker ps --filter status=exited -q)>

- Poniższe polecenie usunęło wszystkie kontenery, które są w istniejącym stanie. Oznacza to, że kontenery się zatrzymały.
docker container prune>
