Anonim

Ja jums nepieciešama visaptveroša, atvērtā koda konteineru platforma, lai izveidotu neatkarību starp lietotnēm un infrastruktūru, Docker ir jūsu drošākā likme. Ja jums ir bijusi izdevība to izmantot, jūs jau zināt, cik tas ir ērti un ērti lietojams

Liela daļa mākoņu un IT uzņēmumu to uzskata par ārkārtīgi noderīgu, un tā popularitāte noteikti ir pelnījusi.

Tomēr tas nepadara to perfektu. Pierādījums ir redzams ierobežojumos, kas rodas, noņemot attēlus, sējumus, konteinerus un tīklus. Kaut arī šīs komandas ir pieejamas, tās nav tik visaptverošas, kā lietotāji varētu vēlēties, lai tās būtu.

Šeit jūs redzēsit galvenās problēmas, ar kurām sastopas lietotāji, kā arī to risinājumus. Jūs uzzināsit, kā viegli noņemt attēlus un konteinerus.

Problēma

Konteineru tehnoloģija nodrošina operētājsistēmu vizualizācijas veidu. Tas ļauj lietotnei tikt komplektētai ar visu nepieciešamo tās palaišanai, kas tai ļauj darboties neatkarīgi no OS.

Tvertņu attēli ir autonomi izpildāmu lietotņu pakotnes, kurās ir viss nepieciešamais, lai lietotne darbotos pareizi. Runtime, kods, konfigurācijas, kā arī sistēmas rīki un bibliotēkas ir ietverti katrā attēlā.

Kad jūs izmantojat Docker, šie attēli uzkrājas. Laika gaitā tiek uzkrāts liels skaits neizmantotu attēlu, datu apjomu un konteineru, radot pārpildītu Docker vidi. Kad tas notiek, ir jāatsvaidzina vide, lai platforma darbotos tā, kā vajadzētu.

Ir vairākas komandas, kas to var padarīt īstenotu, tāpēc apskatīsim galvenos Docker vides piesārņošanas veidus.

Dokera attēlu noņemšana

Lai varētu noņemt nevajadzīgos attēlus, tie jānošķir no noderīgajiem. To var viegli izdarīt, uzskaitot visus attēlus, kurus satur jūsu sistēma, izmantojot attēlu pārvaldības komandu.

Tas izskatās šādi:

$ docker image #list the most recently created images

Vai

$ docker image -a #list all images

Izmantojot otro komandu, jūs redzēsit visus savus dokotāja attēlus. Viss, kas jums jādara, ir jāatrod tā sauktie 'karājošie attēli'. Šie ir visi Docker attēli, kuros nav tagu. Bez atzīmes nav savienojuma ar attēliem, kas atzīmēti, kas nozīmē, ka tie vairs nav noderīgi.

Izmantojot Image ID, var izdzēst vienu vai vairākus attēlus. Lai to izdarītu, izmantojiet vienu no šīm komandām:

$ docker rmi d65c4d6a3580 #remove a single image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

Ērtāks risinājums ir izmantot filtru -f, lai uzskaitītu visus karājošos attēlus.

Lai izdzēstu šos attēlus un atbrīvotu vietu diskā, izmantojiet vienu no šīm komandām:

$ docker image prune #interactively remove dangling images

Vai

$ docker rmi $(docker images -q -f dangling=true)

Visus Docker attēlus varat noņemt līdzīgā veidā. Sarakstiet tos, izmantojot komandu $ docker images –a, un pēc tam noņemiet tos, izmantojot:

$ (docker rmi $(docker images -a -q)

Vēl viena iespēja ir izdzēst attēlus, kas seko noteiktam modelim. Lai tos uzskaitītu, izmantojiet šo komandu:

$ docker images -a | grep "pattern"

Pēc tam noņemiet tos, izmantojot:

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Konteineru noņemšana

Vēl viena lieta, ko jūs varētu vēlēties darīt pēc noteikta laika darba ar Docker, ir viena vai vairāku konteineru izdzēšana.

Līdzīgi kā attēla noņemšanai, vispirms tie ir jāuzskaita, izmantojot šo komandu:

$ docker ps

Vai

$ docker ps -a

Kad atrodat konteinerus, kurus vēlaties noņemt, izmantojiet to ID.

$ docker rm 0fd99ee0cb61 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers

Ja darbojas konteiners, kuru mēģināt noņemt, varat to apturēt, izmantojot šo komandu:

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

Visbeidzot, jūs varat apturēt un noņemt visus nevajadzīgos konteinerus, izmantojot šādas komandas:

$ docker stop $(docker ps -a -q) #stop all containers

$ docker container prune #interactively remove all stopped containers

Vai

$ docker rm $(docker ps -qa)

Tas ļaus jums atbrīvot vērtīgo diska vietu un sākt darbu no jauna.

Gala vārds

Kā redzat, Docker attēlu un konteineru noņemšana nav tik biedējoša, kā varētu. Tagad, kad jūs zināt šīs komandas, varat vairāk kontrolēt Docker pieredzi.

Protams, šīs ir tikai dažas komandas, un jūs varat izmantot dažādas citas kombinācijas. Tomēr šie darīs darbu tikai lieliski, tāpēc jūtieties brīvi izmēģināt tos.

Kā izdzēst visus piestātnes attēlus