DockerSpace
Vezi ce ocupă Docker pe disc, pe proiecte — și șterge doar ce chiar nu mai folosești.
Docker adună zeci de gigaocteți în imagini, volume și cache de build. DockerSpace le grupează pe proiect, îți arată ce e în uz și ce nu, și îți dă curățenie per proiect în loc de tot-sau-nimic.
Docker nu-ți spune cine deține ce. Vezi 90 de imagini și 40 de volume, fără să știi care aparțin proiectului la care lucrezi și care au rămas de la unul terminat acum un an.
Alternativa e prune, care nu face distincția — sau ștergerea manuală, care cere să ții minte ce a creat fiecare.
Ce face DockerSpace
Grupează containere, imagini, volume și cache de build pe proiect Compose
Clasifică fiecare resursă: activă, partajată, imagine de bază sau orfană
Curățenie per proiect, păstrând ce e folosit de alte proiecte
Imaginile în uz se identifică după identificatorul real, nu după nume
Recunoaște și containerele oprite, ca să nu-ți șteargă imaginea de sub ele
Ultima scanare rămâne pe disc — la deschidere vezi imediat starea
Funcționează cu Docker Desktop și cu Colima
Cum funcționează, pas cu pas
Șase pași, în ordinea în care se întâmplă. Nimic nu se șterge înainte de pasul 05.
Fiecare resursă e sortată înainte să fie ștearsă
Detalii tehnice
$ docker system prune e o unealtă cu două stări: nu ștergi nimic, sau ștergi tot ce crede Docker că e nefolosit — inclusiv lucruri de care aveai nevoie.
DockerSpace scanează starea locală și o grupează pe proiectul din Compose care a creat-o. Pentru fiecare resursă îți spune dacă e activă, partajată între proiecte, imagine de bază, sau orfană — și abia apoi îți oferă ștergerea.
Imaginile în uz sunt identificate după identificatorul lor real, nu după nume, deci o imagine folosită de un container oprit nu se pierde. Curățenia per proiect șterge containerele, imaginile și volumele exclusive ale acelui proiect, păstrând ce e partajat.
Ultima scanare se păstrează pe disc, deci la deschidere vezi imediat starea de dinainte, fără să aștepți.
De ce poți avea încredere
Patru lucruri verificabile în codul aplicației, fiecare cu fișierul din care a fost citit.
Potrivire după identificator real, nu după nume
O imagine e considerată „în uz” doar dacă identificatorul ei real apare printre containerele existente — pornite sau oprite. O imagine oprită nu dispare de sub tine.
Core/Classify.swift — classifyImage(), usedImageIDs.contains(img.id)
Cinci stări pentru fiecare volum, nu două
Un volum poate fi în uz, orfan cu etichetă de proiect, orfan anonim, „disputat” (scanarea proprie și filtrul Docker nu sunt de acord — rămâne în afara oricărei curățenii până se lămurește) sau „necunoscut”, când inspectarea a fost incompletă.
Core/Classify.swift — enum VolumeUsage
Cazul care a motivat corectura are testul lui
Suita acoperă parsarea etichetelor, clasificarea imaginilor și a volumelor — și include un test scris anume pentru imaginea de bază care fusese oferită spre ștergere, ca greșeala aia să nu se poată întoarce.
Tests/ — regresie dedicată pentru fe905f6
Verificarea actualizărilor e opțională
Aplicația include Sparkle pentru actualizări, dar verificarea automată e oprită implicit — se întâmplă doar când apeși tu „Check for Updates”.
App/Updater.swift + Info.plist, SUEnableAutomaticChecks = false
Ce nu face încă
Site-ul vechi promitea și lucrurile de mai jos. În acest build, niciunul nu are o linie de cod.
Niciunul dintre aceste puncte nu e inclus în forma de azi a aplicației.
Cerințe
Întrebări
Nu. Scanarea rulează local, prin CLI-ul Docker de pe mașina ta. Singurul apel de rețea din aplicație e verificarea manuală de actualizări, și e oprită implicit.
Nu. O imagine e „în uz” dacă identificatorul ei real apare la un container — pornit sau oprit. Nu contează numele containerului sau al proiectului.
Rămâne „necunoscut”. Aplicația nu presupune că un volum e orfan doar pentru că nu a putut verifica — asta ar transforma un volum de bază de date live într-un fals orfan.
24 €, o singură plată. Aplicația verifică licența — cheia publică Ed25519 și verificatorul sunt în binarul care se descarcă de pe pagina asta.
Cu amândouă — aplicația citește direct din CLI-ul `docker`, indiferent ce rulează în spate.
DockerSpace
+ TVA, calculat la finalizare după țara ta
Cum activezi licența
Deschide aplicația, mergi la Preferințe → Licență și lipește cheia primită pe email.