Cum să eliminați imaginile, containerele și volumele Docker


Docker este o platformă de containere open source, puternică, sigură, fiabilă și eficientă, care permite o independență realistă între aplicații și infrastructură. Este adoptat pe scară largă de companiile IT și cloud, pentru a crea, implementa și rula cu ușurință aplicații.

Un container este o tehnologie de vizualizare a sistemelor de operare, care permite unei aplicații să fie ambalată cu tot ce este necesar pentru ao rula, permițându-i să ruleze independent de sistemul de operare. O imagine container este un pachet autonom, executabil al unei aplicații, care include tot ceea ce este necesar pentru a o rula: cod, runtime, instrumente de sistem și biblioteci, precum și configurații.

Am acoperit deja o serie despre Docker, care explică cum să instalați Docker, să rulați aplicații în containere și să construiți automat imagini docker cu dockerfile.

  1. Instalați Docker și aflați manipularea de bază a containerelor în CentOS și RHEL 7/6
  2. Cum să implementați și să rulați aplicații în containerele Docker pe CentOS/RHEL 7/6
  3. Creați și configurați automat imagini Docker cu Dockerfile pe CentOS/RHEL 7/6
  4. Cum să configurați un server web Apache simplu într-un container Docker

În acest articol, vom explica cum să eliminați imaginile, containerele și volumele Docker prin instrumentul de linie de comandă Docker în sistemele Linux.

Cum să eliminați imaginile Docker

Înainte de a elimina orice imagini Docker, puteți lista toate imaginile existente pe sistemul dvs. cu comanda de gestionare a imaginilor.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Privind rezultatul din captura de ecran care urmează, avem câteva imagini fără etichetă (care arată în schimb ), acestea sunt denumite „imagini suspendate”. Nu mai au nicio relație cu nicio imagine etichetată; nu mai sunt utile și consumă doar spațiu pe disc.

Puteți elimina una sau mai multe imagini Docker vechi sau nefolosite folosind IDul imaginii, de exemplu (unde d65c4d6a3580 este ID-ul imaginii).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Puteți enumera imaginile atârnate (imagini neetichetate) utilizând indicatorul de filtru -f, așa cum se arată.

docker images -f dangling=true	

Pentru a elimina toate imaginile care atârnă, permițându-vă să recuperați spațiu pe disc irosit, utilizați oricare dintre aceste comenzi.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Pentru a elimina toate cele care nu sunt asociate cu niciun container, utilizați următoarea comandă.

docker image prune -a 	

Cum să eliminați containerele Docker

Puteți începe prin a enumera toate containerele docker de pe sistemul dvs. utilizând următoarea comandă.

docker ps
OR
docker ps -a  

După ce ați identificat containerul (containerele) pe care doriți să le ștergeți, le puteți elimina folosind ID-ul lor, de exemplu.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Dacă un container rulează, îl puteți opri mai întâi și îl puteți scoate așa cum se arată.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

De asemenea, puteți să înlăturați forțat un container în timp ce acesta rulează, adăugând marcajul --force sau -f, aceasta îi va trimite un < semnal puternic>SIGKILL așa cum se arată.

docker rm -f 0fd99ee0cb61

Puteți îndepărta containerele și folosind filtre. De exemplu, pentru a elimina toate containerele ieșite, utilizați această comandă.

docker rm $(docker ps -qa --filter "status=exited")

Pentru a opri și elimina toate containerele, utilizați următoarele comenzi.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Cum să eliminați volumele Docker

Ca și înainte, începeți prin a enumera toate volumele docker de pe sistemul dvs. cu comanda de gestionare a volumului, așa cum se arată.

docker volume ls

Pentru a elimina unul sau mai multe volume, utilizați următoarea comandă (rețineți că nu puteți elimina un volum care este utilizat de un container).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Utilizați indicatorul -f pentru a forța eliminarea unuia sau mai multor volume.

docker volume rm -f volume_ID

Pentru a elimina volumele suspendate, utilizați următoarea comandă.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Pentru a elimina toate volumele locale neutilizate, executați următoarea comandă. Aceasta va elimina volumele în mod interactiv.

docker volume prune	

Cum să eliminați imaginile, containerele, volumele și rețelele neutilizate sau atârnate

Cu această singură comandă puteți șterge toate datele suspendate și fără referință, cum ar fi containere oprite, imagini fără containere. În mod implicit, volumele nu sunt eliminate, pentru a preveni ștergerea datelor vitale dacă în prezent nu există niciun container care să folosească volumul.

docker system prune

Pentru a tăia volume, adăugați pur și simplu indicatorul --volumes la comanda de mai jos, așa cum se arată.

docker system prune --volumes

Notă: pentru a rula instrumentul de linie de comandă docker fără comanda sudo, trebuie să adăugați un utilizator la grupul docker, de exemplu.

sudo usermod -a -G docker aaronkilik

Pentru mai multe informații, consultați pagina de ajutor pentru comenzile de mai sus de gestionare a obiectelor docker.

docker help
docker image help   
docker container help   
docker volume help   

Asta este tot pentru acum! În acest articol, am explicat cum să eliminați imaginile, containerele și volumele Docker prin instrumentul de linie de comandă Docker. Dacă aveți întrebări sau gânduri de împărtășit, folosiți formularul de feedback de mai jos pentru a ne contacta.