Kā lietot Docker prune – pamācība ar piemēriem
Docker prune izdzēš nevajadzīgos objektus, piemēram, apturētus konteinerus, neizmantotus apjomus un vecus tīklus vai attēlus. Tas palīdz optimizēt cietā diska izmantošanu un atbrīvot vietu uzglabāšanai.
Kas ir Docker prune?
Docker prune vai system prune ir noderīgs, lai sistemātiski attīrītu vairs nevajadzīgos Docker resursus, palīdzot atbrīvot atmiņu. Ja Docker konteineri, attēli, tīkli un apjomi ilgstoši netiek izmantoti, tie var aizņemt ievērojamu diska vietu. Ar prune varat ātri likvidēt šos neizmantotos resursus, tādējādi uzturot sistēmu tīru un nodrošinot tās maksimālo veiktspēju.
Īpaši izstrādes vidēs, kur bieži tiek izveidoti un testēti jauni konteineri, var uzkrāties ievērojams skaits novecojušu objektu. Docker prune efektīvi dzēš ne tikai neizmantotos konteinerus un attēlus, bet arī tīklus un apjomus, kas vairs nav nepieciešami. Tas vienkāršo Docker resursu pārvaldību un samazina risku, ka sistēma kļūs pārblīvēta un pārslodzēta.
Kādiem mērķiem tiek izmantots Docker prune?
Komanda prune ir piemērota dažādām situācijām ikdienas darbā ar Docker. Turpinājumā esam uzskaitījuši četrus tipiskus tās izmantošanas scenārijus.
Darba procesu optimizācija: Docker vides bieži tiek izmantotas izstrādei, testēšanai un ražošanai. Ja netiek veikta regulāra tīrīšana, tas var izraisīt nevajadzīgo resursu strauju uzkrāšanos. Šāda pārslodze ne tikai palielina atmiņas patēriņu, bet var arī negatīvi ietekmēt sistēmas veiktspēju. Atbrīvojoties no neizmantotajiem resursiem, Docker prune nodrošina efektīvāku sistēmas resursu izmantošanu. Tas ir īpaši svarīgi mākoņvidē, kur izmaksas pieaug līdz ar pieprasījumu pēc uzglabāšanas un skaitļošanas resursiem.
Uzlabojiet drošību: liekie un novecojuši Docker resursi var radīt drošības riskus. Docker prune izdzēš neizmantotos konteinerus, attēlus, tīklus un apjomus, tādējādi samazinot iespēju, ka novecojuši un potenciāli neaizsargāti komponenti paliks bez aizsardzības. Uzturot sakārtotu Docker ekosistēmu, tiek samazināta uzbrukumu virsma un uzlabota jūsu IT infrastruktūras vispārējā drošība.
Veiktspējas uzlabošana: Pārslodzēta Docker vide var samazināt sistēmas veiktspē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 konteineru pārvaldības un izpildes efektivitāti. Tas nodrošina ievērojami īsākus ielādes laikus, ātrāku lietojumprogrammu ieviešanu un uzlabotu sistēmas kopējo reaģētspēju.
Vienkāršota uzturēšana: Regulāra Docker prune izmantošana ievērojami vienkāršo jūsu Docker vides uzturēšanu. Atbrīvojoties no neizmantotajiem resursiem, tas samazina pārvaldības uzdevumu sarežģītību attīstītājiem. Tas atvieglo aktīvo un nepieciešamo Docker komponentu uzraudzību, paātrinot problēmu novēršanu. Rezultātā komandas ietaupa laiku, kas citādi tiktu veltīts administrēšanai, un var vairāk koncentrēties uz savu lietojumprogrammu izstrādi un pilnveidošanu, nevis uz lieko resursu pārvaldību.
Kāda ir Docker prune sintakse?
Vai jums ir Docker vide un vēlaties atbrīvot resursus, lai atbrīvotu vietu diskā un vienkāršotu pārvaldību? Šādā gadījumā vienkārši izpildiet šo komandu, lai piekļūtu prune pakalpojumiem:
docker system prunebashPēc noklusējuma Docker identificē apturētos konteinerus, neizmantotos attēlus, tīklus un apjomus, kurus var izdzēst, un pirms to dzēšanas lūdz apstiprinājumu. Lai turpinātu, vienkārši ievadiet burtu „y“ un nospiediet taustiņu „Enter“. Alternatīvi varat izmantot opciju -f, lai izlaistu apstiprinājumu un nekavējoties sāktu tīrīšanu:
docker system prune -fbashPadoms: Pirms sākat lietot Docker prune, ir lietderīgi pārbaudīt, kādi Docker resursi pašlaik ir pieejami sistēmā. Izpildiet šādas komandas, lai iegūtu visu konteineru, attēlu, tīklu un apjomu sarakstu:
docker ps -a
docker images
docker volume ls
docker network lsbashDocker prune opcijas
Turpmākajā tabulā ir sniegts pārskats par dažādajām docker system prune. versijas iespējām.
| Iespēja | Apraksts |
|---|---|
--all, -a
|
Noņem visus neizmantotos Docker resursus. |
--force, -f
|
Veic tīrīšanu bez lietotāja apstiprinājuma. |
--volumes
|
Noņem neizmantotos apjomus. |
--filter, -f
|
Ļauj filtrēt resursus, kas jāizdzēš, atbilstoši kritērijiem. |
--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ķtiecīgi iztīrīt konkrētu veidu resursus. Tas nodrošina elastību, lai precīzi kontrolētu, kuri resursi ir jāizdzēš.
Docker prune --filter
Izmantojot filtru, varat kontrolēt to resursu atlasi, kurus vēlaties dzēst, piemēram, konteinerus, 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>"bashDažādas filtrēšanas iespējas ietver:
until: Filtrē resursus pēc to izveides datuma. Šajā gadījumā<duration>var būt skaitliska vērtība ar vienību, piemēram,h(stundas),m(minūtes) vais(sekundes).
docker <command> prune --filter "until=<duration>"bashPiemērs: Izdzēst visus apturētos konteinerus, kas ir vecāki par 24 stundām
docker container prune --filter "until=24h"bashlabel: Filtrē resursus, pamatojoties uz to Docker marķējumiem
docker <command> prune --filter "label=<label>"bashPiemērs: Izdzēsiet visus neizmantotos apjomus, kuriem ir piešķirts marķējums mylabel
docker volume prune --filter "label=mylabel"bashdangling: Filtrē resursus, kurus konteiners vairs neizmanto
docker <command> prune --filter "dangling=true"bashPiemērs: Izdzēst visus vairs neizmantotos (nepiestiprinātos) attēlus*
docker image prune --filter "dangling=true"bashPapildus iepriekš minētajiem galvenajiem filtriem ir pieejamas arī specifiskākas filtrēšanas iespējas atkarībā no resursa veida:
beforeunsinceattēliem: filtrē attēlus pēc to izveides datuma — vai nu pirms, vai pēc noteiktā laika brīžaexitedkonteineriem: filtrē konteinerus pēc to iziešanas statusa (piemēram,exited=0veiksmīgi pabeigtiem konteineriem)
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} prunebashAizstājiet {resource} ar to resursu tipu, kuru vēlaties iztīrīt. Pieļaujamās vērtības ir container, image, volume un network.
Kā dzēst Docker konteinerus
Pēc noklusējuma Docker automātiski neatbrīvo konteinerus pēc to dzīves cikla beigām. Ir svarīgi regulāri pārbaudīt apturētos konteinerus un nepieciešamības gadījumā tos iztīrīt, lai atbrīvotu aizņemtos resursus darbojošos konteineru vajadzībām. To var izdarīt divos veidos.
docker rm: Komandadocker rmir paredzēta, lai manuāli dzēstu vienu vai vairākus Docker konteinerus. Ja precīzi zināt, kurus konteinerus vēlaties dzēst, šī ir piemērotākā metode. Jums ir skaidri jānorāda to konteineru ID vai nosaukumi, kurus vēlaties dzēst, tādējādi no savas vides varat dzēst tikai konkrētus konteinerus, neietekmējot pārējos.
Šeit ir piemērs, kā dzēst konteinerus ar nosaukumiem container1 un container2:
docker rm container1 container2bashdocker container prune: Savukārtdocker container pruneir komanda, kuras mērķis ir vienlaikus izdzēst vairākus apturētus konteinerus. Šī metode ir īpaši piemērota, lai ātri un efektīvi atbrīvotu vietu, izdzēšot visus apturētos konteinerus, kuros pašlaik nav darbojošos procesu.
docker container prunebashŠeit ir uzskaitīti visi apturētie konteineri, un Docker pirms to dzēšanas lūdz apstiprinājumu. Tas ir ļoti ērti vidēs, kurās tiek izveidoti daudzi pagaidu konteineri, kas vēlāk vairs nav vajadzīgi.
Lai nodrošinātu ikdienas pārvaldību un uzturēšanu jūsu Docker vidē, ieteicams regulāri izmantot docker container prune, lai automātiski iztīrītu apturētos konteinerus. Šāda pieeja ietaupa laiku un nodrošina, ka nevajadzīgi resursi neietekmē sistēmas veiktspēju. Savukārt docker rm ir ideāli piemērots, lai mērķtiecīgi un kontrolēti dzēstu konkrētus konteinerus, vai nu testēšanas, izstrādes vai citu konkrētu vajadzību dēļ.
Kā dzēst Docker attēlus
Docker attēli ir konteineru pamatelementi. Laika gaitā tiem var būt daudzas dažādas versijas un birkas. Izveidojot vai atjauninot jaunus attēlus, bieži paliek vecie vai neizmantotie attēli, ko sauc par „dangling“. Tie aizņem vietu sistēmas diskā un var ietekmēt veiktspēju, jo īpaši, ja šādu attēlu ir daudz.
Izmantojot Docker prune, varat atrast un dzēst attēlus, kas vairs netiek izmantoti:
docker image prune [Options]bashŠeit iespējamās opcijas ir, piemēram:
-a,--all: Šī opcija ne tikai noņem „karājošos” attēlus, bet arī neizmantotos attēlus. Neizmantoti attēli ir tie, kuriem vairs nav tagu un uz kuriem tādēļ nevar tieši atsaukties, izmantojot tagus.
docker image prune -abash-f,--force: Pēc noklusējuma Docker pirms attēlu faktiskas dzēšanas prasa apstiprinājumu. Izmantojot-fvai--force, varat izlaist šo apstiprināšanas posmu un veikt tīrīšanu uzreiz.
docker image prune -fbashKā 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 --forcebashPirms sākat tīrīšanu, pārliecinieties, ka esat pārbaudījis, kuras attēlus tiks dzēsti. Izvēloties opciju -a, var tikt dzēsti neizmantoti 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 saistītais konteiners vairs nedarbojas. Laika gaitā šie sējumi var palielināties un nevajadzīgi patērēt resursus.
docker volume prunebashŠī komanda meklē visus apjomus, kuros nav aktīvu konteineru. Jūs saņemsiet sarakstu ar apjomiem, kurus ieteicams dzēst, un pirms tīrīšanas izpildes būs nepieciešama apstiprinājuma pieprasīšana.
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, neatkarīgi no tā, vai to pašlaik izmanto kāds konteiners. Lai dzēstu konkrētu Docker apjomu, izmantojiet komandu docker volume rm, aiz kuras norādiet apjoma nosaukumu vai ID:
docker volume rm volume_namebashAtkārtoju – pārliecinieties, ka zināt dzēšamā apjoma nosaukumu vai identifikatoru, jo šī komanda datus dzēš neatgriezeniski un šo darbību nevar atcelt.
Kā dzēst Docker tīklus
Docker vidē tīkli ir būtiska sastāvdaļa, kas ļauj konteineriem sazināties savā starpā neatkarīgi no tā, vai tie atrodas vienā datorā vai izkliedēti pa vairākiem datoriem. Docker tīkli saglabājas pat pēc tam, kad konteineri ir pārtraukti vai noņemti. Laika gaitā tas var izraisīt neizmantoto tīklu uzkrāšanos, kas nevajadzīgi patērē resursus. Komanda docker prune network ` ir vienkāršs veids, kā identificēt un noņemt šos neizmantotos tīklus.
Komandai ir šāds formāts:
docker network prune [OPTIONS]bashDocker izveido sarakstu ar visiem tīkliem, kurus vairs neizmanto aktīvie konteineri vai uz kuriem vairs nav atsauču. Pirms tīklu faktiskas dzēšanas tiek pieprasīts apstiprinājums.
Labākā prakse saistībā ar Docker prune
- Automātiska tīrīšana: izmantojiet automatizētus skriptus vai rīkus, lai regulāri dzēstu vairs nevajadzīgos Docker attēlus, konteinerus un apjomus. Tas nodrošina tīru vidi un optimizē veiktspēju.
- Drošības labojumi un atjauninājumi: Regulāri pārbaudiet, vai ir pieejami drošības atjauninājumi un labojumi Docker dzinējiem, uzņēmējoperētājsistēmām un visiem Docker attēliem. Šo komponentu uzturēšana atjaunināta palīdz samazināt potenciālās drošības ievainojamības.
- Uzraudzība un žurnālu reģistrēšana: izmantojiet uzraudzības un žurnālu reģistrēšanas rīkus, lai uzraudzītu konteineru veiktspēju, atklātu negaidītus notikumus un veicinātu proaktīvu uzturēšanu.
- Ārējā dublēšana: izveidojiet rutīnas svarīgu datu ārējai dublēšanai no Docker konteineriem, piemēram, regulāri dublējot datu bāzes saturu vai konfigurācijas failus.
- Manuāla pārbaude pirms noņemšanas: Pirms noteiktu resursu noņemšanas rūpīgi pārbaudiet, vai tie vairs nav nepieciešami. Tas samazinās nejaušas datu zaudēšanas vai darbojošos procesu pārtraukumu risku.
Ja jūs tikai sākat iepazīties ar Docker, iesakām izlasīt mūsu izsmeļošo Docker apmācību.