docker system prune în Docker

Verifică spațiul ocupat de Docker (system df) și șterge resursele nefolosite (system prune).

Sintaxă comandă
docker system df [-v]
docker system prune [opțiuni]

Ce face docker system prune

În timp, pe mașina de dezvoltare sau pe serverul de CI/CD se adună zeci de gigabiți de containere oprite, imagini vechi fără etichetă, rețele rămase în urmă și cache de la docker build. Înainte de a șterge ceva, comanda docker system df îți arată exact cât spațiu ocupă fiecare categorie și cât este recuperabil (RECLAIMABLE).

Comanda docker system prune face curățenie dintr-o singură mișcare: în mod implicit șterge containerele oprite, rețelele nefolosite, imaginile orfane (<none>:<none>) și cache-ul de build nefolosit.

Cu opțiunea -a (--all) șterge și toate imaginile descărcate care nu sunt folosite în acel moment de niciun container activ, iar cu --volumes șterge și volumele neatașate.

Opțiuni și argumente

Opțiune / Parametru Descriere
docker system df [-v] Afișează un rezumat al spațiului pe disc folosit de imagini, containere, volume și build cache (-v detaliază fiecare obiect).
-a, --all La prune: șterge toate imaginile nefolosite de containere, nu doar pe cele dangling.
--volumes Include în curățare și volumele care nu sunt folosite de niciun container (ATENȚIE la date!).
-f, --force Nu cere confirmare interactivă [y/N].
--filter "until=24h" Șterge doar obiectele create cu mai mult de 24 de ore în urmă.
docker builder prune Curăță doar cache-ul BuildKit fără a atinge containerele sau imaginile.

Exemple

Exemplul 1: Verificarea spațiului ocupat de Docker

Vedem că din 4.8 GB de imagini și build cache putem recupera peste 3 GB.

docker system df

Ieșire în terminal

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          14        3         3.42GB    2.61GB (76%)
Containers      5         3         42.1MB    41.8MB (99%)
Local Volumes   4         2         618MB     124MB (20%)
Build Cache     38        0         1.45GB    1.45GB

Exemplul 2: Curățarea tuturor resurselor nefolosite mai vechi de 7 zile

Filtru sigur pe serverele de build: păstrează imaginile recente pentru cache.

docker system prune -a -f --filter "until=168h"

Ieșire în terminal

Deleted Containers:
e4b1c2d3f5a67890123456789abcdef0123456789abcdef0123456789abcdef0

Deleted Images:
untagged: node:18-alpine
deleted: sha256:9c8b7a6f5e4d3c2b1a0987654321fedcba0987654321fedcba0987654321fedc

Total reclaimed space: 2.84GB

Greșeli frecvente

  • Rularea docker system prune -a --volumes în timp ce stiva aplicației este oprită temporar: șterge atât imaginile, cât și volumele bazei de date, deoarece niciun container nu le folosea în acel moment.

Comenzi înrudite

  • docker rmi: Șterge una sau mai multe imagini locale (sau doar o etichetă a lor).
  • docker rm: Șterge unul sau mai multe containere (implicit doar pe cele oprite).
  • docker volume: Creează, listează, inspectează și șterge volume gestionate de Docker pentru date persistente.
  • docker images: Listează imaginile descărcate sau construite local, cu etichetă, ID și dimensiune.