docker system prune în Docker

Curățarea completă și sigură a zecilor de gigabytes de imagini orfane, containere oprite, rețele neutilizate și memorie cache de build.

Sintaxă comandă
docker system prune -a --volumes

Pe măsură ce dezvolți aplicații sau rulezi pipeline-uri de CI/CD, Docker acumulează în tăcere un volum uriaș de date pe disc: imagini intermediare abandonate (dangling images), containere vechi oprite, volume anonime și cache-ul de compilare BuildKit. Nu este neobișnuit ca folderul Docker să ocupe peste 50–100 GB de spațiu.

Comanda docker system prune este utilitarul suprem de salubrizare a mediului Docker. Aceasta scanează întregul sistem și elimină în siguranță toate resursele care nu mai sunt asociate niciunui container activ.

Combinată cu flagul -a (all) și --volumes, comanda resetează complet spațiul de stocare, eliberând instantaneu zeci de gigabytes fără a afecta containerele care rulează în acel moment.

Sintaxă, opțiuni și concepte cheie

Opțiune / Concept Descriere practică
-a, --all Șterge toate imaginile nefolosite de niciun container activ, nu doar cele fără etichetă (dangling).
--volumes Șterge și volumele anonime de date neasociate niciunui container existent.
-f, --force Execută curățarea fără a cere confirmare interactivă de la tastatură (esențial în scripturi cron).
--filter until= Păstrează resursele recente și șterge doar datele mai vechi de o anumită perioadă (ex. `until=24h`).

Exemple practice și cod

Exemplul 1: Eliberarea a zeci de gigabytes de memorie cache și imagini nefolosite pe server

Comanda optimă de mentenanță periodică.

$ docker system prune -a --volumes

WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all volumes not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y

Deleted Containers: 14
Deleted Volumes: 8
Deleted Images: 42
Deleted build cache: 18.4GB

Total reclaimed space: 38.65GB

Rezultat & Impact

Recuperare masivă și instantanee de spațiu pe hard disk/SSD.

Greșeli frecvente și bune practici

  • Rularea comenzii cu `–volumes` pe servere de producție unde baze de date (PostgreSQL, MySQL) folosesc volume anonime ne-etichetate explicit, ceea ce duce la ștergerea definitivă a datelor.
  • Curățarea agresivă a cache-ului de build înainte de un deployment critic, forțând recompilarea de la zero a tuturor dependențelor grele.

Ghiduri și noțiuni înrudite