Docker jest obecnie jednym z najpopularniejszych produktów w organizacjach. Sprawia, że proces zarządzania aplikacjami w kontenerach jest bardzo łatwy. Docker zapewnia aplikacjom przenośność, wydajność, zwinność, skalowalność i izolację, ponieważ korzysta z kontenerów. Kontenery są bardziej przenośne i wymagają mniej zasobów niż maszyny wirtualne. Pracując z Dockerem, masz tendencję do gromadzenia nadmiernej liczby nieużywanych obrazów, wolumenów i kontenerów. Zasoby te zaśmiecają dane wyjściowe i zużywają dużo miejsca na dysku. W tym samouczku dowiesz się, jak wyczyścić zasoby Dockera i uporządkować swój serwer.
Wyczyść wszystko
Możesz wyczyścić wszystkie zasoby Dockera, w tym obrazy, zatrzymane kontenery, wolumeny i sieci, za pomocą jednego polecenia. Możesz wybrać jedną z poniższych opcji:
Odniesienie: Wiszące zasoby to te, które nie są powiązane z żadnym uruchomionym kontenerem.
Opcja 1:
|
1 |
docker system prune |
– wszystkie zatrzymane kontenery
– wszystkie sieci nieużywane przez co najmniej jeden kontener
– wszystkie wiszące obrazy
– całą wiszącą pamięć podręczną budowania
Opcja 2:
|
1 |
docker system prune -a |
– wszystkie zatrzymane kontenery
– wszystkie sieci nieużywane przez co najmniej jeden kontener
– wszystkie obrazy, z którymi nie jest powiązany co najmniej jeden kontener
– całą pamięć podręczną budowania
Opcja 3:
|
1 |
docker system prune -a --volumes |
– wszystkie zatrzymane kontenery
– wszystkie sieci nieużywane przez co najmniej jeden kontener
– wszystkie wolumeny nieużywane przez co najmniej jeden kontener
– wszystkie obrazy, z którymi nie jest powiązany co najmniej jeden kontener
– całą pamięć podręczną budowania

Usuwanie obrazów Dockera
Aby usunąć konkretny obraz, musisz znać jego identyfikator (ID obrazu). Identyfikator obrazu kontenera Docker można znaleźć za pomocą polecenia “docker images”, jak wyjaśniono w naszym samouczku dotyczącym jak zainstalować & obsługiwać Dockera na Ubuntu.
Lista obrazów:
|
1 |
docker images |
Usuń obraz:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker rmi <Obraz ID> Przykład: docker rmi 1d622ef86b13 Wynik: Untagged: ubuntu:latest Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7 Deleted: sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01 Deleted: sha256:279e836b58d9996b5715e82a97b024563f2b175e86a53176846684f0717661c3 Deleted: sha256:39865913f677c50ea236b68d81560d8fefe491661ce6e668fd331b4b680b1d47 Deleted: sha256:cac81188485e011e56459f1d9fc9936625a1b62cacdb4fcd3526e5f32e280387 Deleted: sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f |
Usuwanie wiszących obrazów:
Podczas budowania obrazu Dockera zazwyczaj składa się on z kilku warstw obrazów. Wiszące obrazy to warstwy, które nie mają żadnego powiązania z żadnym otagowanym obrazem. Wiszące obrazy zużywają miejsce na dysku, ale nie służą żadnemu celowi. Można je wyświetlić za pomocą polecenia:
|
1 |
docker images -f dangling=true |
Możesz usunąć te obrazy, uruchamiając następujące polecenie:
|
1 |
docker image prune |
Usuwanie obrazów na podstawie wzorca
Możesz łatwo znaleźć obrazy na podstawie określonego wzorca za pomocą polecenia “grep”, a następnie usunąć je, przekazując je do polecenia “docker rmi” za pomocą “awk”. Możesz użyć następujących poleceń i zastąpić “wzorzec” w każdym z nich:
Lista:
|
1 |
docker images -a | grep "wzorzec" |
Usuń:
|
1 |
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi |
Usuń wszystkie obrazy
Możesz wyświetlić listę wszystkich obrazów dockera za pomocą polecenia:
|
1 |
docker images -a |
Gdy zdecydujesz się usunąć je wszystkie, możesz użyć tego polecenia, aby je skasować:
|
1 |
docker images -a -q | xargs docker rmi |
Usuwanie kontenerów:
Teraz, gdy wyczyściłeś wszystkie niepotrzebne obrazy, nadszedł czas na usunięcie niektórych kontenerów, które nie są wymagane.
Aby wyświetlić listę kontenerów, możesz użyć polecenia:
|
1 |
docker ps -a |
Aby usunąć kontenery, użyj polecenia:
|
1 |
docker rm <<Nazwa kontenera/ID kontenera>> |
Tymczasowe uruchamianie kontenerów
Jeśli chcesz uruchomić kontener tylko raz, możesz wybrać automatyczne usunięcie kontenera po jego zakończeniu. Możesz to zrobić za pomocą polecenia:
|
1 |
docker run --rm <<NazwaObrazu>> |
Usuwanie zakończonych kontenerów
Możesz przefiltrować zakończone kontenery za pomocą argumentu “-f”. Wyświetl listę zakończonych kontenerów za pomocą polecenia:
|
1 |
docker ps -a -f status=exited |
Teraz, gdy je przefiltrowałeś, usuń je za pomocą tego polecenia:
|
1 |
docker rm $(docker ps -a -f status=exited -q) |
Usuwanie kontenerów na podstawie wzorca
Możesz łatwo znaleźć kontenery na podstawie określonego wzorca za pomocą polecenia “grep”, a następnie usunąć je, przekazując wynik do polecenia “docker rm” za pomocą “awk”. Możesz użyć następujących poleceń i zastąpić “pattern” w każdym z nich.
Lista:
|
1 |
docker ps -a | grep "pattern" |
Usuń:
|
1 |
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm |
Zatrzymanie i usunięcie wszystkich kontenerów
Przed wykonaniem tej czynności przejrzyj wszystkie kontenery na serwerze, wyświetlając ich listę. Dopiero gdy upewnisz się, że chcesz je usunąć, uruchom następujące polecenia:
Wyświetl listę kontenerów do przejrzenia:
|
1 |
docker ps -a |
Zatrzymaj i usuń:
|
1 2 |
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) |
Usuwanie wolumenów
Usuwanie określonego wolumenu
Aby usunąć określony wolumen, musisz znać jego nazwę. Aby ją znaleźć, możesz wyświetlić listę wolumenów.
Lista:
|
1 |
docker volume ls |
Usuń:
|
1 |
docker volume rm <<NazwaWolumenu>> |
Usuwanie osieroconych wolumenów
Po usunięciu kontenera dołączony do niego wolumen nie jest usuwany automatycznie. Taki wolumen nazywany jest osieroconym (dangling). Aby zlokalizować takie wolumeny, użyj argumentu filtrującego w poleceniu:
|
1 |
docker volume ls -f dangling=true |
Aby usunąć wszystkie takie osierocone wolumeny, użyj polecenia:
|
1 |
docker volume prune |
Usuwanie kontenera i jego nienazwanego wolumenu
Jeśli podczas uruchamiania kontenera utworzyłeś anonimowy lub nienazwany wolumen, możesz go usunąć wraz z kontenerem za pomocą jednego polecenia. Jeśli jednak wolumen ma nazwę, usunięty zostanie tylko kontener.
|
1 |
docker rm -v <<NazwaKontenera>> |
Teraz, gdy masz już tę ściągawkę, powinieneś być gotowy do oczyszczenia zasobów Dockera, które nie są wymagane na Twoim serwerze.
Powodzenia!


Komentarze
Brak komentarzy. Bądź pierwszy.