Docker prune izdzēš ne­va­ja­dzī­gos objektus, piemēram, apturētus kon­tei­ne­rus, ne­iz­man­to­tus apjomus un vecus tīklus vai attēlus. Tas palīdz optimizēt cietā diska iz­man­to­ša­nu un atbrīvot vietu uz­gla­bā­ša­nai.

Kas ir Docker prune?

Docker prune vai system prune ir noderīgs, lai sis­te­mā­tis­ki attīrītu vairs ne­va­ja­dzī­gos Docker resursus, palīdzot atbrīvot atmiņu. Ja Docker kon­tei­ne­ri, attēli, tīkli un apjomi ilgstoši netiek izmantoti, tie var aizņemt ie­vē­ro­ja­mu diska vietu. Ar prune varat ātri likvidēt šos ne­iz­man­to­tos resursus, tādējādi uzturot sistēmu tīru un no­dro­ši­not tās maksimālo veikt­spē­ju.

Īpaši izstrādes vidēs, kur bieži tiek izveidoti un testēti jauni kon­tei­ne­ri, var uzkrāties ie­vē­ro­jams skaits no­ve­co­ju­šu objektu. Docker prune efektīvi dzēš ne tikai ne­iz­man­to­tos kon­tei­ne­rus un attēlus, bet arī tīklus un apjomus, kas vairs nav ne­pie­cie­ša­mi. Tas vienkāršo Docker resursu pār­val­dī­bu un samazina risku, ka sistēma kļūs pār­blī­vē­ta un pār­slo­dzē­ta.

Kādiem mērķiem tiek izmantots Docker prune?

Komanda prune ir piemērota dažādām si­tuā­ci­jām ikdienas darbā ar Docker. Tur­pi­nā­ju­mā esam uz­skai­tī­ju­ši četrus tipiskus tās iz­man­to­ša­nas sce­nā­ri­jus.

Darba procesu op­ti­mi­zā­ci­ja: Docker vides bieži tiek iz­man­to­tas izstrādei, tes­tē­ša­nai un ražošanai. Ja netiek veikta regulāra tīrīšana, tas var izraisīt ne­va­ja­dzī­go resursu strauju uz­krā­ša­nos. Šāda pārslodze ne tikai palielina atmiņas patēriņu, bet var arī negatīvi ietekmēt sistēmas veikt­spē­ju. At­brī­vo­jo­ties no ne­iz­man­to­ta­jiem resursiem, Docker prune nodrošina efek­tī­vā­ku sistēmas resursu iz­man­to­ša­nu. Tas ir īpaši svarīgi mākoņvidē, kur izmaksas pieaug līdz ar pie­pra­sī­ju­mu pēc uz­gla­bā­ša­nas un skait­ļo­ša­nas resursiem.

Uz­la­bo­jiet drošību: liekie un no­ve­co­ju­ši Docker resursi var radīt drošības riskus. Docker prune izdzēš ne­iz­man­to­tos kon­tei­ne­rus, attēlus, tīklus un apjomus, tādējādi samazinot iespēju, ka no­ve­co­ju­ši un po­ten­ciā­li ne­aiz­sar­gā­ti kom­po­nen­ti paliks bez aiz­sar­dzī­bas. Uzturot sakārtotu Docker eko­sis­tē­mu, tiek sa­ma­zi­nā­ta uzbrukumu virsma un uzlabota jūsu IT in­fras­truk­tū­ras vispārējā drošība.

Veikt­spē­jas uz­la­bo­ša­na: Pār­slo­dzē­ta Docker vide var samazināt sistēmas veikt­spē­ju, patērējot liekus resursus, piemēram, procesora jaudu un atmiņu. Regulāra tīrīšana ar Docker prune atbrīvo diska vietu un uzlabo kon­tei­ne­ru pār­val­dī­bas un izpildes efek­ti­vi­tā­ti. Tas nodrošina ie­vē­ro­ja­mi īsākus ielādes laikus, ātrāku lie­to­jum­prog­ram­mu ieviešanu un uzlabotu sistēmas kopējo rea­ģēt­spē­ju.

Vien­kār­šo­ta uz­tu­rē­ša­na: Regulāra Docker prune iz­man­to­ša­na ie­vē­ro­ja­mi vienkāršo jūsu Docker vides uz­tu­rē­ša­nu. At­brī­vo­jo­ties no ne­iz­man­to­ta­jiem resursiem, tas samazina pār­val­dī­bas uzdevumu sa­rež­ģī­tī­bu at­tīs­tī­tā­jiem. Tas atvieglo aktīvo un ne­pie­cie­ša­mo Docker kom­po­nen­tu uz­rau­dzī­bu, paātrinot problēmu novēršanu. Rezultātā komandas ietaupa laiku, kas citādi tiktu veltīts ad­mi­nis­trē­ša­nai, un var vairāk kon­cen­trē­ties uz savu lie­to­jum­prog­ram­mu izstrādi un pilnvei­do­ša­nu, nevis uz lieko resursu pār­val­dī­bu.

Kāda ir Docker prune sintakse?

Vai jums ir Docker vide un vēlaties atbrīvot resursus, lai atbrīvotu vietu diskā un vien­kār­šo­tu pār­val­dī­bu? Šādā gadījumā vienkārši izpildiet šo komandu, lai piekļūtu prune pa­kal­po­ju­miem:

docker system prune
bash

Pēc no­klu­sē­ju­ma Docker iden­ti­fi­cē apturētos kon­tei­ne­rus, ne­iz­man­to­tos attēlus, tīklus un apjomus, kurus var izdzēst, un pirms to dzēšanas lūdz ap­stip­ri­nā­ju­mu. Lai turpinātu, vienkārši ievadiet burtu „y“ un no­spie­diet taustiņu „Enter“. Al­ter­na­tī­vi varat izmantot opciju -f, lai izlaistu ap­stip­ri­nā­ju­mu un ne­ka­vē­jo­ties sāktu tīrīšanu:

docker system prune -f
bash

Padoms: Pirms sākat lietot Docker prune, ir liet­de­rī­gi pārbaudīt, kādi Docker resursi pašlaik ir pieejami sistēmā. Izpildiet šādas komandas, lai iegūtu visu kon­tei­ne­ru, attēlu, tīklu un apjomu sarakstu:

docker ps -a
docker images
docker volume ls
docker network ls
bash

Docker prune opcijas

Turp­mā­ka­jā tabulā ir sniegts pārskats par dažādajām docker system prune. versijas iespējām.

Iespēja Apraksts
--all, -a Noņem visus ne­iz­man­to­tos Docker resursus.
--force, -f Veic tīrīšanu bez lietotāja ap­stip­ri­nā­ju­ma.
--volumes Noņem ne­iz­man­to­tos apjomus.
--filter, -f Ļauj filtrēt resursus, kas jāizdzēš, at­bil­sto­ši kri­tē­ri­jiem.
--help Parāda palīdzību par komandas lietošanu.

Kā izmantot komandu „docker prune

Docker piedāvā dažādas komandas, kas ļauj mēr­ķtie­cī­gi iztīrīt konkrētu veidu resursus. Tas nodrošina elastību, lai precīzi kon­tro­lē­tu, kuri resursi ir jāizdzēš.

Docker prune --filter

Iz­man­to­jot filtru, varat kontrolēt to resursu atlasi, kurus vēlaties dzēst, piemēram, kon­tei­ne­rus, attēlus, tīklus un apjomus. Tas ir noderīgi izstrādes vidēs, kurās var tikt izveidoti daudzi pagaidu resursi, par kuriem ātri vien aizmirst.

Vispārīgā sintakse ir šāda:

docker <command> prune --filter "filter=<value>"
bash

Dažādas fil­trē­ša­nas iespējas ietver:

  • until: Filtrē resursus pēc to izveides datuma. Šajā gadījumā <duration> var būt skait­lis­ka vērtība ar vienību, piemēram, h (stundas), m (minūtes) vai s (sekundes).
docker <command> prune --filter "until=<duration>"
bash

Piemērs: Izdzēst visus apturētos kon­tei­ne­rus, kas ir vecāki par 24 stundām

docker container prune --filter "until=24h"
bash
  • label: Filtrē resursus, pa­ma­to­jo­ties uz to Docker mar­ķē­ju­miem
docker <command> prune --filter "label=<label>"
bash

Piemērs: Izdzēsiet visus ne­iz­man­to­tos apjomus, kuriem ir piešķirts marķējums mylabel

docker volume prune --filter "label=mylabel"
bash
  • dangling: Filtrē resursus, kurus kon­tei­ners vairs neizmanto
docker <command> prune --filter "dangling=true"
bash

Piemērs: Izdzēst visus vairs ne­iz­man­to­tos (ne­pies­tip­ri­nā­tos) attēlus*

docker image prune --filter "dangling=true"
bash

Papildus iepriekš mi­nē­ta­jiem gal­ve­na­jiem filtriem ir pieejamas arī spe­ci­fis­kā­kas fil­trē­ša­nas iespējas atkarībā no resursa veida:

  • before un since attēliem: filtrē attēlus pēc to izveides datuma — vai nu pirms, vai pēc noteiktā laika brīža
  • exited kon­tei­ne­riem: filtrē kon­tei­ne­rus pēc to iziešanas statusa (piemēram, exited=0 veiksmīgi pa­beig­tiem kon­tei­ne­riem)

Kā atbrīvot Docker resursus

1. solis: Atveriet termināli vai komandu rindu savā sistēmā.

2. solis: Palaižiet Docker prune, lai attīrītu sistēmu:

docker {resource} prune
bash

Aiz­stā­jiet {resource} ar to resursu tipu, kuru vēlaties iztīrīt. Pie­ļau­ja­mās vērtības ir container, image, volume un network.

Kā dzēst Docker kon­tei­ne­rus

Pēc no­klu­sē­ju­ma Docker au­to­mā­tis­ki neatbrīvo kon­tei­ne­rus pēc to dzīves cikla beigām. Ir svarīgi regulāri pārbaudīt apturētos kon­tei­ne­rus un ne­pie­cie­ša­mī­bas gadījumā tos iztīrīt, lai atbrīvotu aizņemtos resursus dar­bo­jo­šos kon­tei­ne­ru va­ja­dzī­bām. To var izdarīt divos veidos.

  • docker rm: Komanda docker rm ir paredzēta, lai manuāli dzēstu vienu vai vairākus Docker kon­tei­ne­rus. Ja precīzi zināt, kurus kon­tei­ne­rus vēlaties dzēst, šī ir pie­mē­ro­tā­kā metode. Jums ir skaidri jānorāda to kon­tei­ne­ru ID vai nosaukumi, kurus vēlaties dzēst, tādējādi no savas vides varat dzēst tikai konkrētus kon­tei­ne­rus, ne­ie­tek­mē­jot pārējos.

Šeit ir piemērs, kā dzēst kon­tei­ne­rus ar no­sau­ku­miem container1 un container2:

docker rm container1 container2
bash
  • docker container prune: Savukārt docker container prune ir komanda, kuras mērķis ir vien­lai­kus izdzēst vairākus apturētus kon­tei­ne­rus. Šī metode ir īpaši piemērota, lai ātri un efektīvi atbrīvotu vietu, izdzēšot visus apturētos kon­tei­ne­rus, kuros pašlaik nav dar­bo­jo­šos procesu.
docker container prune
bash

Šeit ir uz­skai­tī­ti visi apturētie kon­tei­ne­ri, un Docker pirms to dzēšanas lūdz ap­stip­ri­nā­ju­mu. Tas ir ļoti ērti vidēs, kurās tiek izveidoti daudzi pagaidu kon­tei­ne­ri, kas vēlāk vairs nav vajadzīgi.

Lai no­dro­ši­nā­tu ikdienas pār­val­dī­bu un uz­tu­rē­ša­nu jūsu Docker vidē, ieteicams regulāri izmantot docker container prune, lai au­to­mā­tis­ki iztīrītu apturētos kon­tei­ne­rus. Šāda pieeja ietaupa laiku un nodrošina, ka ne­va­ja­dzī­gi resursi neietekmē sistēmas veikt­spē­ju. Savukārt docker rm ir ideāli piemērots, lai mēr­ķtie­cī­gi un kon­tro­lē­ti dzēstu konkrētus kon­tei­ne­rus, vai nu tes­tē­ša­nas, izstrādes vai citu konkrētu vajadzību dēļ.

Kā dzēst Docker attēlus

Docker attēli ir kon­tei­ne­ru pa­ma­te­le­men­ti. Laika gaitā tiem var būt daudzas dažādas versijas un birkas. Iz­vei­do­jot vai at­jau­ni­not jaunus attēlus, bieži paliek vecie vai ne­iz­man­to­tie attēli, ko sauc par „dangling“. Tie aizņem vietu sistēmas diskā un var ietekmēt veikt­spē­ju, jo īpaši, ja šādu attēlu ir daudz.

Iz­man­to­jot Docker prune, varat atrast un dzēst attēlus, kas vairs netiek izmantoti:

docker image prune [Options]
bash

Šeit ie­spē­ja­mās opcijas ir, piemēram:

  • -a, --all: Šī opcija ne tikai noņem „karājošos” attēlus, bet arī ne­iz­man­to­tos attēlus. Ne­iz­man­to­ti attēli ir tie, kuriem vairs nav tagu un uz kuriem tādēļ nevar tieši at­sauk­ties, iz­man­to­jot tagus.
docker image prune -a
bash
  • -f, --force: Pēc no­klu­sē­ju­ma Docker pirms attēlu faktiskas dzēšanas prasa ap­stip­ri­nā­ju­mu. Iz­man­to­jot -f vai --force, varat izlaist šo ap­stip­ri­nā­ša­nas posmu un veikt tīrīšanu uzreiz.
docker image prune -f
bash

Kā dzēst visus Docker attēlus

Jūs varat arī ātri un pilnībā izdzēst no sistēmas visus Docker attēlus, kas vairs nav vajadzīgi. Lai efektīvi izmantotu Docker prune, vispirms atveriet termināli vai komandu uzvedni un ievadiet šādu komandu:

docker image prune -a --force
bash

Pirms sākat tīrīšanu, pār­lie­ci­nie­ties, ka esat pār­bau­dī­jis, kuras attēlus tiks dzēsti. Iz­vē­lo­ties opciju -a, var tikt dzēsti ne­iz­man­to­ti attēli, kas jums varētu vēl būt vajadzīgi.

Kā dzēst Docker apjomus

Sējumi ir pastāvīgi un saglabā datus pat tad, ja sa­is­tī­tais kon­tei­ners vairs ne­dar­bo­jas. Laika gaitā šie sējumi var pa­lie­li­nā­ties un ne­va­ja­dzī­gi patērēt resursus.

docker volume prune
bash

Šī komanda meklē visus apjomus, kuros nav aktīvu kon­tei­ne­ru. Jūs saņemsiet sarakstu ar apjomiem, kurus ieteicams dzēst, un pirms tīrīšanas izpildes būs ne­pie­cie­ša­ma ap­stip­ri­nā­ju­ma pie­pra­sī­ša­na.

Turpretim komanda docker volume rm ir paredzēta tieši atsevišķu Docker apjomu dzēšanai. Tas var būt noderīgi, ja precīzi zināt, kuru apjomu vēlaties dzēst, ne­at­ka­rī­gi no tā, vai to pašlaik izmanto kāds kon­tei­ners. Lai dzēstu konkrētu Docker apjomu, iz­man­to­jiet komandu docker volume rm, aiz kuras norādiet apjoma nosaukumu vai ID:

docker volume rm volume_name
bash

Atkārtoju – pār­lie­ci­nie­ties, ka zināt dzēšamā apjoma nosaukumu vai iden­ti­fi­ka­to­ru, jo šī komanda datus dzēš ne­at­grie­ze­nis­ki un šo darbību nevar atcelt.

Kā dzēst Docker tīklus

Docker vidē tīkli ir būtiska sa­stāv­da­ļa, kas ļauj kon­tei­ne­riem sa­zi­nā­ties savā starpā ne­at­ka­rī­gi no tā, vai tie atrodas vienā datorā vai iz­klie­dē­ti pa vairākiem datoriem. Docker tīkli sa­gla­bā­jas pat pēc tam, kad kon­tei­ne­ri ir pār­trauk­ti vai noņemti. Laika gaitā tas var izraisīt ne­iz­man­to­to tīklu uz­krā­ša­nos, kas ne­va­ja­dzī­gi patērē resursus. Komanda docker prune network ` ir vienkāršs veids, kā iden­ti­fi­cēt un noņemt šos ne­iz­man­to­tos tīklus.

Komandai ir šāds formāts:

docker network prune [OPTIONS]
bash

Docker izveido sarakstu ar visiem tīkliem, kurus vairs neizmanto aktīvie kon­tei­ne­ri vai uz kuriem vairs nav atsauču. Pirms tīklu faktiskas dzēšanas tiek pie­pra­sīts ap­stip­ri­nā­jums.

Labākā prakse saistībā ar Docker prune

  • Au­to­mā­tis­ka tīrīšana: iz­man­to­jiet au­to­ma­ti­zē­tus skriptus vai rīkus, lai regulāri dzēstu vairs ne­va­ja­dzī­gos Docker attēlus, kon­tei­ne­rus un apjomus. Tas nodrošina tīru vidi un optimizē veikt­spē­ju.
  • Drošības labojumi un at­jau­ni­nā­ju­mi: Regulāri pār­bau­diet, vai ir pieejami drošības at­jau­ni­nā­ju­mi un labojumi Docker dzinējiem, uz­ņē­mē­jo­pe­rē­tājsis­tē­mām un visiem Docker attēliem. Šo kom­po­nen­tu uz­tu­rē­ša­na at­jau­ni­nā­ta palīdz samazināt po­ten­ciā­lās drošības ie­vai­no­ja­mī­bas.
  • Uz­rau­dzī­ba un žurnālu re­ģis­trē­ša­na: iz­man­to­jiet uz­rau­dzī­bas un žurnālu re­ģis­trē­ša­nas rīkus, lai uz­rau­dzī­tu kon­tei­ne­ru veikt­spē­ju, atklātu ne­gai­dī­tus notikumus un veicinātu proaktīvu uz­tu­rē­ša­nu.
  • Ārējā dublēšana: iz­vei­do­jiet rutīnas svarīgu datu ārējai dub­lē­ša­nai no Docker kon­tei­ne­riem, piemēram, regulāri dublējot datu bāzes saturu vai kon­fi­gu­rā­ci­jas failus.
  • Manuāla pārbaude pirms no­ņem­ša­nas: Pirms noteiktu resursu no­ņem­ša­nas rūpīgi pār­bau­diet, vai tie vairs nav ne­pie­cie­ša­mi. Tas samazinās nejaušas datu zau­dē­ša­nas vai dar­bo­jo­šos procesu pār­trau­ku­mu risku.
Tip

Ja jūs tikai sākat ie­pa­zī­ties ar Docker, iesakām izlasīt mūsu izsmeļošo Docker apmācību.

Go to Main Menu