Ako vam je potrebna opsežna kontejnerska platforma otvorenog koda za stvaranje neovisnosti između aplikacija i infrastrukture, Docker je vaša najsigurnija opklada. Ako ste ga imali priliku koristiti, već znate koliko je sposoban i jednostavan za korištenje
Velik broj cloud i IT tvrtki smatra ga iznimno korisnim, a njegova popularnost je svakako zaslužena.
Ipak, ovo ga ne čini savršenim. Dokaz se može vidjeti u ograničenjima koja dolaze s uklanjanjem slika, volumena, spremnika i mreža. Iako su ove naredbe dostupne, one nisu tako opsežne koliko bi korisnici željeli da budu.
Ovdje ćete vidjeti glavne probleme s kojima se korisnici susreću, kao i rješenja za njih. Naučit ćete kako na jednostavan način ukloniti slike i spremnike.
Pitanje
Tehnologija kontejnera pruža način vizualizacije operacijskih sustava. Omogućuje da se aplikacija zapakira sa svime što je potrebno za njezino pokretanje, što joj omogućuje da djeluje neovisno o OS-u.
Slike spremnika su samostalni izvršni paketi aplikacija koji uključuju sve što je potrebno za ispravan rad aplikacije. Vrijeme izvođenja, kod, konfiguracije i sistemski alati i knjižnice sadržani su u svakoj slici.
Dok koristite Docker, te se slike nakupljaju. S vremenom se nakuplja veliki broj neiskorištenih slika, volumena podataka i spremnika, stvarajući pretrpano Docker okruženje. Kada se to dogodi, potrebno je osvježiti okruženje kako bi platforma radila kako treba.
Postoji više naredbi koje to mogu učiniti, pa pogledajmo glavne načine uklanjanja nereda u vašem Docker okruženju.
Uklanjanje Docker slika
Prije nego što možete ukloniti nepotrebne slike, morate ih razlikovati od korisnih. To se lako može učiniti navođenjem svih slika koje vaš sustav sadrži pomoću naredbe za upravljanje slikama.
Evo kako to izgleda:
$ docker image #popis najnovijih slika
Ili
$ docker image -a #popis svih slika
S drugom naredbom vidjet ćete sve svoje docker slike. Sve što trebate učiniti je pronaći takozvane 'viseće slike'. Sve su to Docker slike koje ne sadrže oznaku. Bez oznake nema veze s označenim slikama, što znači da više nisu korisne.
Možete izbrisati jednu ili više slika pomoću ID-a slike. Da biste to učinili, koristite jednu od ovih naredbi:
$ docker rmi d65c4d6a3580 #ukloni jednu sliku
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #ukloni više slika
Prikladnije rješenje je korištenje zastavice filtera -f za popis svih visećih slika.
Za brisanje ovih slika i čišćenje prostora na disku upotrijebite jednu od sljedećih naredbi:
$ docker image prune #interaktivno ukloniti viseće slike
Ili
$ docker rmi $(docker slike -q -f viseći=true)
Na sličan način možete ukloniti sve Docker slike. Navedite ih pomoću naredbe $ docker images, a zatim ih uklonite pomoću sljedećeg:
$ (docker rmi $(docker slike -a -q)
Druga je mogućnost brisanje slika koje slijede određeni uzorak. Da biste ih naveli, koristite sljedeću naredbu:
$ docker slike -a | grep "uzorak"
Zatim ih uklonite pomoću:
$ docker slike -a | grep "uzorak" | awk '{print $3}' | xargs docker rmi
Uklanjanje kontejnera
Još jedna stvar koju biste možda željeli učiniti nakon što ste radili s Dockerom određeno vrijeme je brisanje jednog ili više spremnika.
Slično uklanjanju slika, prvo ih morate navesti pomoću sljedeće naredbe:
$ docker ps
Ili
$ docker ps -a
Kada pronađete spremnike koje želite ukloniti, upotrijebite njihov ID za to.
$ docker rm 0fd99ee0cb61 #uklonite jedan spremnik
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #ukloni više spremnika
U slučaju da je spremnik koji pokušavate ukloniti pokrenut, možete upotrijebiti sljedeću naredbu da ga zaustavite:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Na kraju, možete zaustaviti i ukloniti sve nepotrebne spremnike pomoću sljedećih naredbi:
$ docker stop $(docker ps -a -q) #zaustavi sve spremnike
$ docker container prune #interaktivno ukloniti sve zaustavljene spremnike
Ili
$ docker rm $(docker ps -qa)
To će vam omogućiti da oslobodite vrijedan prostor na disku i počnete ispočetka.
Završna riječ
Kao što možete vidjeti, uklanjanje Docker slika i spremnika nije tako zastrašujuće koliko bi moglo. Sada kada znate ove naredbe, možete imati više kontrole nad svojim iskustvom u Dockeru.
Naravno, ovo su samo neke od naredbi, a možete koristiti i razne druge kombinacije. Ipak, ovi će dobro obaviti posao, pa ih slobodno isprobajte.