Kā noņemt Docker attēlus, konteinerus un sējumus


Docker ir atvērtā koda, jaudīga, droša, uzticama un efektīva konteineru platforma, kas nodrošina reālu neatkarību starp lietojumprogrammām un infrastruktūru. To plaši pieņem IT un mākoņdatošanas uzņēmumi, lai ērti izveidotu, izvietotu un palaistu lietojumprogrammas.

Konteiners ir operētājsistēmu vizualizācijas tehnoloģija, kas ļauj programmu iesaiņot ar visu nepieciešamo tās darbībai, ļaujot tai darboties neatkarīgi no operētājsistēmas. Konteinera attēls ir patstāvīga, izpildāma lietojumprogrammas pakete, kas satur visu nepieciešamo tā darbināšanai: kodu, izpildlaiku, sistēmas rīkus un bibliotēkas, kā arī konfigurācijas.

Mēs jau esam apskatījuši Docker sēriju, kurā paskaidrots, kā instalēt Docker, palaist lietojumprogrammas konteineros un automātiski veidot docker attēlus ar dockerfile.

  1. CentOS un RHEL 7/6 instalējiet Docker un uzziniet pamata manipulācijas ar konteineriem
  2. Kā izvietot un palaist lietojumprogrammas Docker konteineros, izmantojot CentOS/RHEL 7/6?
  3. Automātiski izveidojiet un konfigurējiet Docker attēlus, izmantojot Dockerfile, vietnē CentOS/RHEL 7/6
  4. Kā iestatīt vienkāršu Apache tīmekļa serveri Docker konteinerā

Šajā rakstā mēs paskaidrosim, kā noņemt dokotāju attēlus, konteinerus un sējumus, izmantojot dokeru komandrindas rīku Linux sistēmās.

Kā noņemt Docker attēlus

Pirms noņemat visus dokstatora attēlus, ar attēlu pārvaldības komandu varat uzskaitīt visus esošos attēlus savā sistēmā.

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

Aplūkojot nākamo ekrānuzņēmuma izvadi, mums ir daži attēli bez taga (tā vietā parādīts ), tie tiek dēvēti par “piekārtiem attēliem”. Viņiem vairs nav nekādas saistības ar atzīmētiem attēliem; tie vairs nav noderīgi un patērē tikai vietu diskā.

Izmantojot attēla ID, varat noņemt vienu vai vairākus vecus vai neizmantotus Docker attēlus (kur d65c4d6a3580 ir attēla ID).

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

Jūs varat uzskaitīt nokarenos attēlus (nemarķētus attēlus), izmantojot filtra karodziņu -f , kā parādīts.

$ docker images -f dangling=true	

Lai noņemtu visus karājošos attēlus un ļautu atgūt izšķērdēto vietu diskā, izmantojiet jebkuru no šīm komandām.

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

Lai noņemtu visus, kas nav saistīti ar jebkuru konteineru, izmantojiet šo komandu.

$ docker image prune -a 	

Kā noņemt Docker konteinerus

Vispirms jūs varat uzskaitīt visus sistēmas dokstacijas konteinerus, izmantojot šādu komandu.

$ docker ps
OR
$ docker ps -a  

Kad esat identificējis dzēšamo (-os) konteineru (-us), varat tos noņemt, izmantojot, piemēram, viņu ID.

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

Ja konteiners darbojas, vispirms to var apturēt un noņemt, kā parādīts attēlā.

$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61

Varat arī piespiedu kārtā noņemt konteineru, kamēr tas darbojas, pievienojot karodziņu - force vai -f , tas tam nosūtīs SIGKILL signālu, kā parādīts.

$ docker rm -f 0fd99ee0cb61

Tvertnes var noņemt, izmantojot arī filtrus. Piemēram, lai noņemtu visus izietos konteinerus, izmantojiet šo komandu.

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

Lai apturētu un noņemtu visus konteinerus, izmantojiet šādas komandas.

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

Kā noņemt Docker sējumus

Tāpat kā iepriekš, sāciet uzskaitīt visus sistēmas dokotāju sējumus ar skaļuma pārvaldības komandu, kā parādīts.

$ docker volume ls

Lai noņemtu vienu vai vairākus sējumus, izmantojiet šo komandu (ņemiet vērā, ka nevar noņemt sējumu, kuru lieto konteiners).

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

Izmantojiet karodziņu -f , lai piespiestu noņemt vienu vai vairākus sējumus.

$ docker volume rm -f volume_ID

Lai noņemtu karājošos sējumus, izmantojiet šo komandu.

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

Lai noņemtu visus neizmantotos lokālos sējumus, izpildiet šo komandu. Tas interaktīvi noņems sējumus.

$ docker volume prune	

Kā noņemt neizmantotos vai aizsprostotos attēlus, konteinerus, sējumus un tīklus

Izmantojot šo komandu, varat izdzēst visus piekārtotos un atsauces datus, piemēram, apturētos konteinerus, attēlus bez konteineriem. Pēc noklusējuma sējumi netiek noņemti, lai nepieļautu svarīgu datu dzēšanu, ja pašlaik nav tvertnes, kurā tiktu izmantots sējums.

$ docker system prune

Lai apgrieztu sējumus, vienkārši pievienojiet karodziņu --volumes zemāk esošajai komandai, kā parādīts.

$ docker system prune --volumes

Piezīme. Lai palaistu docker komandrindas rīku bez sudo komandas, jums, piemēram, jāpievieno lietotājs docker grupai.

$ sudo usermod -a -G docker aaronkilik

Lai iegūtu papildinformāciju, skatiet iepriekš minēto dokeru objektu pārvaldības komandu palīdzības lapu.

$ docker help
$ docker image help   
$ docker container help   
$ docker volume help   

Tas pagaidām ir viss! Šajā rakstā mēs esam paskaidrojuši, kā noņemt dokera attēlus, konteinerus un sējumus, izmantojot dokeru komandrindas rīku. Ja jums ir kādi jautājumi vai domas, ko dalīties, izmantojiet tālāk sniegto atsauksmju veidlapu, lai sazinātos ar mums.