Docker przechowuje obrazy, zatrzymane kontenery i cache, dopóki nie usuniesz ich właściwą operacją. To pozwala wrócić do wcześniejszej pracy, ale z czasem zajmuje dysk. Porządki zacznij od identyfikacji zasobów i miejsca przechowywania danych aplikacji. „Nieużywany” w rozumieniu Dockera nie znaczy „niepotrzebny Tobie”, szczególnie przy zatrzymanej bazie lub dawnym projekcie.
Odczyt przed usuwaniem
docker system df -v
docker ps -a
docker image ls
docker volume ls
Uruchom polecenia osobno w kontekście właściwego demona Docker. Pierwsze pokazuje zużycie, kolejne kontenery, obrazy i wolumeny. Porównaj je z projektami, które nadal utrzymujesz. Przy zdalnym kontekście polecenia dotyczą zdalnej instalacji, dlatego przed sprzątaniem potwierdź, na którym hoście pracujesz.
Kolumna miejsca możliwego do odzyskania jest oceną techniczną, nie listą zatwierdzonych do skasowania danych. Obrazy współdzielą warstwy, więc proste dodawanie rozmiarów może zawyżać oczekiwaną oszczędność. Jeśli potrzebujesz rozpoznać główne źródło wzrostu, zajrzyj do poradnika ile miejsca zajmuje Docker.
Kontener może zawierać dane poza wolumenem
Sprawdź montowania rozpoznanego kontenera:
docker inspect --format '{{json .Mounts}}' NAZWA_KONTENERA
Oznaczenie zastąp właściwą nazwą. Odczyt pomoże rozpoznać wolumeny i bind mounty, ale nie potwierdzi, że aplikacja zapisała wszystkie dane właśnie tam. Pliki w warstwie zapisywalnej kontenera znikną razem z nim. Zatrzymany kontener może nadal przechowywać ważny eksport, zmienioną konfigurację albo jedyną bazę utworzoną bez trwałego montowania.
Przed usunięciem zabezpiecz dane obsługiwaną metodą aplikacji i zachowaj konfigurację potrzebną do odtworzenia. Sam obraz nie zastępuje backupu bazy. Jeśli nie wiesz, gdzie aplikacja zapisuje dane, wstrzymaj sprzątanie tego zasobu. Nie zakładaj, że ponowne uruchomienie Compose odtworzy zawartość usuniętej warstwy.
Najpierw usuń wybrane zatrzymane kontenery
Po rozpoznaniu konkretnego, niepotrzebnego kontenera możesz użyć:
docker container rm NAZWA_KONTENERA
To operacja usuwania, a nie podgląd. Nie dodawaj -f ani -v jako rutynowych opcji. Pierwsza może wymusić usunięcie działającego kontenera, druga rozszerza zakres na związane wolumeny anonimowe. Ograniczona operacja na jednym znanym obiekcie jest łatwiejsza do oceny niż usunięcie wszystkich zatrzymanych pozycji.
docker container prune usuwa wszystkie zatrzymane kontenery pasujące do podanych warunków. Nie pokazuje kompletnego planu typu dry-run. Komunikat potwierdzenia nie rozpoznaje wartości ich danych. Używaj go dopiero, gdy sprawdziłeś całą objętą grupę; samo „Exited” na liście nie uzasadnia usunięcia.
Obrazy: rozróżnij dangling i nieużywane
docker image ls --filter dangling=true
docker image prune
Pierwsze polecenie jest odczytem. Drugie usuwa domyślnie obrazy dangling, czyli bez tagu i bez powiązania z kontenerem. Przed potwierdzeniem sprawdź, czy nie zachowujesz takiego obrazu jako jedynego wyniku lokalnej kompilacji. Obraz prywatny lub własny nie musi być możliwy do ponownego pobrania.
Opcja -a rozszerza sprzątanie również na inne obrazy niepowiązane z żadnym kontenerem. Może zabrać wersję zachowaną do szybkiego powrotu lub pracy offline. Zastanów się, czy masz dostęp do rejestru i dokładnego wariantu obrazu. Tag „latest” nie gwarantuje odtworzenia tej samej zawartości w przyszłości.
Cache kompilacji usuwa się osobno
Jeśli głównym źródłem jest cache budowania, sprawdź używany builder. Dla Buildx dostępne jest:
docker buildx du
Po rozpoznaniu zbędnego cache odpowiednia operacja prune może zwolnić miejsce, lecz przyszłe kompilacje będą musiały odtworzyć usunięte elementy. W środowisku z kilkoma builderami potwierdź, który obejmuje polecenie. Nie usuwaj jednocześnie kontenerów i obrazów, jeśli problemem jest wyłącznie cache.
Dlaczego nie zaczynać od system prune z dodatkami?
docker system prune łączy usuwanie zatrzymanych kontenerów, niewykorzystywanych sieci, obrazów dangling i cache budowania. Domyślnie nie usuwa wolumenów, lecz nadal może skasować dane z warstwy kontenera. Dodatkowe opcje zwiększają zakres: -a obejmuje więcej obrazów, a --volumes anonimowe nieużywane wolumeny.
Nieużywany wolumen może być pozostałością po potrzebnej aplikacji, która chwilowo nie ma kontenera. Nazwane wolumeny mają również własne reguły sprzątania i opcje rozszerzające zakres. Nie uruchamiaj hurtowego usuwania jako cotygodniowego zadania bez planu retencji oraz kopii. Najpierw ustal nazwę, pochodzenie i zawartość danych, które mają zostać usunięte.
Sprawdź oszczędność i możliwość dalszej pracy
Po wybranej operacji ponownie odczytaj docker system df -v i wolne miejsce systemu plików. Sprawdź potrzebne kontenery oraz zwykłą funkcję aplikacji. W Docker Desktop zmniejszenie zajętości wewnętrznej nie musi od razu zmniejszyć fizycznego pliku dysku wirtualnego; to osobny etap zarządzania pamięcią masową.
Nie usuwaj ręcznie katalogów danych Dockera i jego plików wewnętrznych. Korzystaj z obsługiwanych poleceń i zachowaj sprawdzony backup przed skasowaniem danych aplikacji. Dobrze zakończone porządki dają odzyskane miejsce oraz działające potrzebne projekty, nie tylko krótszą listę kontenerów.








