„Docker prune pašalina ne­rei­ka­lin­gus objektus, pa­vyz­džiui, su­stab­dy­tus kon­t­ei­ne­rius, ne­nau­do­ja­mus tomus ir senus tinklus ar atvaizdus. Tai padeda op­ti­mi­zuo­ti kietojo disko naudojimą ir at­lais­vi­na saugojimo vietą.

Kas yra „Docker prune“?

„Docker prune arba system prune yra naudingos norint sis­te­min­gai išvalyti ne­be­rei­ka­lin­gus „Docker“ išteklius ir taip at­lais­vin­ti atmintį. Jei „Docker“ kon­t­ei­ne­riai, atvaizdai, tinklai ir tomai ilgą laiką ne­nau­do­ja­mi, jie gali užimti nemažai vietos diske. Naudodami prune, galite greitai pašalinti šiuos ne­nau­do­ja­mus išteklius, taip už­tik­rin­da­mi, kad jūsų sistema būtų tvarkinga ir veiktų mak­si­ma­liai efek­ty­viai.

Ypač kūrimo aplinkose, kuriose dažnai kuriamos ir te­stuo­ja­mos naujos kon­t­ei­ne­rių aplinkos, gali su­si­kaup­ti nemažai ne­be­rei­ka­lin­gų objektų. „Docker prune veiks­min­gai pašalina ne tik ne­nau­do­ja­mus kon­t­ei­ne­rius ir atvaizdus, bet ir ne­be­rei­ka­lin­gus tinklus bei tomus. Tai su­pa­pras­ti­na „Docker“ išteklių valdymą ir sumažina riziką, kad sistema taps perkrauta ir ne­be­veiks­min­ga.

Kam nau­do­ja­mas „Docker prune “?

Komanda prune tinka įvairioms si­tu­aci­joms kas­die­nia­me darbe su „Docker“. Toliau pa­tei­kia­me keturis tipiškus jos naudojimo atvejus.

Op­ti­mi­zuo­ki­te darbo procesus: „Docker“ aplinkos dažnai nau­do­ja­mos kūrimo, testavimo ir gamybos tikslais. Jei re­gu­lia­riai ne­vyk­do­mas valymas, tai gali lemti greitą ne­rei­ka­lin­gų išteklių kaupimąsi. Toks per­kro­vi­mas ne tik padidina atminties naudojimą, bet ir gali neigiamai paveikti sistemos našumą. Pa­ša­li­nant ne­nau­do­ja­mus išteklius, „Docker prune užtikrina efek­ty­ves­nį sistemos išteklių naudojimą. Tai ypač svarbu debesų aplinkose, kur išlaidos didėja kartu su saugojimo ir skai­čia­vi­mo išteklių paklausa.

Pa­di­din­ki­te saugumą: ne­rei­ka­lin­gi ir pasenę „Docker“ ištekliai gali kelti grėsmę saugumui. „Docker prune pašalina ne­nau­do­ja­mus kon­t­ei­ne­rius, atvaizdus, tinklus ir tomus, taip su­ma­žin­da­mas tikimybę, kad pasenę ir po­ten­cia­liai pa­žei­džia­mi kom­po­nen­tai liks nesaugomi. Tvar­kin­gos „Docker“ eko­sis­te­mos pa­lai­ky­mas sumažina atakų paviršių ir su­stip­ri­na bendrą jūsų IT inf­rastruk­tū­ros saugumą.

Našumo didinimas: Perkrauta „Docker“ aplinka gali sumažinti sistemos našumą, nes eikvoja ne­rei­ka­lin­gus išteklius, pa­vyz­džiui, pro­ce­so­riaus ir atminties resursus. Re­gu­lia­riai valant sistemą naudojant „Docker prune, at­lais­vi­na­ma vietos diske ir pa­di­di­na­mas kon­t­ei­ne­rių valdymo bei vykdymo efek­ty­vu­mas. Tai leidžia žymiai su­trum­pin­ti įkėlimo laiką, pa­grei­tin­ti programų diegimą ir pagerinti bendrą sistemos reagavimo greitį.

Pa­pras­tes­nė priežiūra: Re­gu­lia­rus prune nau­do­ji­mas žymiai su­pa­pras­ti­na jūsų „Docker“ aplinkos priežiūrą. Pa­ša­li­nant ne­nau­do­ja­mus išteklius, sumažėja valdymo užduočių su­dė­tin­gu­mas kūrėjams. Tai leidžia lengviau stebėti aktyvius ir rei­ka­lin­gus „Docker“ kom­po­nen­tus, o tai pa­grei­ti­na gedimų šalinimą. Dėl to komandos sutaupo laiko, skirto ad­mi­nist­ra­vi­mui, ir gali daugiau dėmesio skirti programų kūrimui bei to­bu­li­ni­mui, o ne ne­rei­ka­lin­gų išteklių tvarkymui.

Kokia yra „Docker prune“ sintaksė?

Ar turite „Docker“ aplinką ir norite išvalyti išteklius, kad at­lais­vin­tu­mė­te vietos diske ir su­pa­pras­tin­tu­mė­te valdymą? Tokiu atveju tiesiog įvyk­dy­ki­te šią komandą, kad pa­siek­tu­mė­te prune paslaugas:

docker system prune
bash

Pagal nu­ma­ty­tuo­sius nu­sta­ty­mus „Docker“ nustato su­stab­dy­tus kon­t­ei­ne­rius, ne­nau­do­ja­mus atvaizdus, tinklus ir tomus, kuriuos galima pašalinti, ir prieš pa­ša­li­ni­mą prašo jūsų pa­tvir­ti­ni­mo. Norėdami tęsti, tiesiog įveskite „y“ ir pa­spau­s­ki­te klavišą „Enter“. Taip pat galite naudoti parinktį -f, kad pra­leis­tu­mė­te pa­tvir­ti­ni­mą ir išvalymą pa­leis­tu­mė­te iš karto:

docker system prune -f
bash

Patarimas: Prieš pradedant naudoti „Docker prune, verta pa­tik­rin­ti, kokie „Docker“ ištekliai šiuo metu yra sistemoje. Norėdami gauti visų kon­t­ei­ne­rių, atvaizdų, tinklų ir tomų sąrašą, įvyk­dy­ki­te šias komandas:

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

„Docker“ prune parinktys

Toliau pa­teik­to­je lentelėje pa­tei­kia­ma įvairių docker system prune versijos parinkčių apžvalga.

Pa­si­rin­ki­mas Aprašymas
--all, -a Pašalina visus ne­nau­do­ja­mus „Docker“ išteklius.
--force, -f Atlieka valymą be vartotojo pa­tvir­ti­ni­mo.
--volumes Pašalina ne­nau­do­ja­mus tomus.
--filter, -f Leidžia filtruoti pa­ša­li­na­mus išteklius pagal kri­te­ri­jus.
--help Rodo pagalbą apie komandos naudojimą.

Kaip naudoti komandą „Docker prune

„Docker“ siūlo įvairias komandas, lei­džian­čias tiks­lin­gai išvalyti konkrečių tipų išteklius. Tai suteikia lankstumą tiksliai kont­ro­liuo­ti, kurie ištekliai turėtų būti pašalinti.

Docker prune --filter

Naudodami filtrą galite valdyti pa­ša­li­na­mų išteklių, pa­vyz­džiui, kon­t­ei­ne­rių, atvaizdų, tinklų ir tomų, pa­si­rin­ki­mą. Tai ypač naudinga kūrimo aplinkose, kuriose gali būti sukurta daug laikinių išteklių, apie kuriuos greitai pa­mirš­ta­ma.

Bendroji sintaksė yra tokia:

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

Įvairios fil­t­ra­vi­mo galimybės apima:

  • until: Filtruoja išteklius pagal jų sukūrimo datą. Čia <duration> gali būti skait­me­ni­nė reikšmė su matavimo vienetu, pvz., h (valandos), m (minutės) arba s (sekundės).
docker <command> prune --filter "until=<duration>"
bash

Pavyzdys: pašalinti visus su­stab­dy­tus kon­t­ei­ne­rius, kurių senumas viršija 24 valandas

docker container prune --filter "until=24h"
bash
  • label: Filtruoja išteklius pagal jų „Docker“ žymes
docker <command> prune --filter "label=<label>"
bash

Pavyzdys: Iš­va­ly­ki­te visus ne­nau­do­ja­mus tomus, pažymėtus žyma mylabel

docker volume prune --filter "label=mylabel"
bash
  • dangling: Filtruoja išteklius, kurių kon­t­ei­ne­ris ne­bei­nau­do­ja
docker <command> prune --filter "dangling=true"
bash

Pavyzdys: Pašalinti visus ne­be­nau­do­ja­mus (ne­pri­skir­tus) pa­veiks­lė­lius*

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

Be minėtų pag­rin­di­nių filtrų, taip pat yra ir konk­re­tes­nių fil­t­ra­vi­mo parinkčių, pri­klau­san­čių nuo išteklių tipo:

  • before ir since vaizdams: filtruoja vaizdus pagal jų sukūrimo datą – iki tam tikro laiko taško arba nuo jo
  • exited kon­t­ei­ne­riams: filtruoja kon­t­ei­ne­rius pagal jų užbaigimo būseną (pa­vyz­džiui, exited=0 sėkmingai už­baig­tiems kon­t­ei­ne­riams)

Kaip pašalinti „Docker“ išteklius

1 žingsnis: Ati­da­ry­ki­te terminalo langą arba komandų eilutę savo kom­piu­te­ry­je.

2 žingsnis: Pa­lei­s­ki­te „Docker prune, kad iš­va­ly­tu­mė­te sistemą:

docker {resource} prune
bash

Pa­kei­s­ki­te {resource} į išvalyti norimų išteklių tipą. Galimos reikšmės: container, image, volume ir network.

Kaip pašalinti „Docker“ kon­t­ei­ne­rius

Pagal nu­ma­ty­tuo­sius nu­sta­ty­mus „Docker“ au­to­ma­tiš­kai ne­iš­lais­vi­na kon­t­ei­ne­rių, kai jų gyvavimo ciklas baigiasi. Svarbu re­gu­lia­riai tikrinti su­stab­dy­tus kon­t­ei­ne­rius ir prireikus juos išvalyti, kad būtų at­lais­vin­ti užimti ištekliai vei­kian­tiems kon­t­ei­ne­riams. Tai galima padaryti dviem būdais.

  • docker rm: Komanda docker rm skirta vienam arba keliems „Docker“ kon­t­ei­ne­riams pašalinti rankiniu būdu. Jei tiksliai žinote, kuriuos kon­t­ei­ne­rius norite pašalinti, tai yra tin­ka­miau­sias būdas. Turite aiškiai nurodyti pa­ša­lin­ti­nų kon­t­ei­ne­rių ID arba pa­va­di­ni­mus, kad ga­lė­tu­mė­te iš savo aplinkos pašalinti tik konk­re­čius kon­t­ei­ne­rius, ne­pa­žei­džiant kitų.

Štai pavyzdys, kaip ištrinti kon­t­ei­ne­rius, kurių pa­va­di­ni­mai yra container1 ir container2:

docker rm container1 container2
bash
  • docker container prune: Tuo tarpu docker container prune yra komanda, skirta vienu metu pašalinti kelis su­stab­dy­tus kon­t­ei­ne­rius. Šis metodas ypač tinka greitai ir efek­ty­viai at­lais­vin­ti vietą, pa­ša­li­nant visus su­stab­dy­tus kon­t­ei­ne­rius, kuriuose šiuo metu nevyksta jokie procesai.
docker container prune
bash

Čia pa­tei­kia­mas visų su­stab­dy­tų kon­t­ei­ne­rių sąrašas, o prieš juos pa­ša­li­nant „Docker“ paprašo pa­tvir­ti­ni­mo. Tai labai praktiška aplinkose, kuriose sukurta daug laikinių kon­t­ei­ne­rių, kurie vėliau tampa ne­rei­ka­lin­gi.

Siekiant už­tik­rin­ti kasdienį „Docker“ aplinkos valdymą ir priežiūrą, re­ko­men­duo­ja­ma re­gu­lia­riai naudoti docker container prune, kad su­stab­dy­ti kon­t­ei­ne­riai būtų au­to­ma­tiš­kai išvalomi. Šis metodas padeda sutaupyti laiko ir užtikrina, kad ne­rei­ka­lin­gi ištekliai ne­truk­dy­tų sistemos našumui. Tuo tarpu docker rm puikiai tinka tiks­lin­gai ir kont­ro­liuo­ja­mai pašalinti konk­re­čius kon­t­ei­ne­rius, nesvarbu, ar tai būtų daroma testavimo, kūrimo ar kitokių konkrečių poreikių tikslais.

Kaip pašalinti „Docker“ vaizdus

„Docker“ atvaizdai yra kon­t­ei­ne­rių su­de­da­mo­sios dalys. Laikui bėgant jie gali turėti daugybę skirtingų versijų ir žymių. Kurdami ar at­nau­ji­nant naujus atvaizdus, dažnai lieka senų arba ne­nau­do­ja­mų atvaizdų, vadinamų „pa­ki­bu­siais“. Jie užima vietos jūsų sistemos diske ir gali turėti įtakos našumui, ypač jei tokių atvaizdų yra daug.

Naudodami „Docker prune galite nustatyti ir pašalinti ne­be­var­to­ja­mus atvaizdus:

docker image prune [Options]
bash

Čia galimos galimybės, pa­vyz­džiui:

  • -a, --all: Ši parinktis pašalina ne tik pa­ki­bu­sius vaizdus, bet ir ne­nau­do­ja­mus vaizdus. Ne­nau­do­ja­mi vaizdai – tai tie, kurie nebeturi žymių ir todėl negali būti tie­sio­giai nurodomi naudojant žymes.
docker image prune -a
bash
  • -f, --force: Pagal nu­ma­ty­tuo­sius nu­sta­ty­mus „Docker“ prašo pa­tvir­ti­ni­mo prieš faktiškai ištrinant atvaizdus. Pa­si­rin­kus -f arba --force, galite praleisti šį pa­tvir­ti­ni­mo etapą ir išvalymą atlikti iš karto.
docker image prune -f
bash

Kaip pašalinti visus „Docker“ atvaizdus

Be to, galite greitai ir išsamiai išvalyti visas sistemos „Docker“ vaizdus, kurių jau ne­be­rei­kia. Norėdami veiks­min­gai naudoti „Docker prune, pir­miau­sia ati­da­ry­ki­te terminalą arba komandų eilutę ir įveskite šią komandą:

docker image prune -a --force
bash

Prieš pradėdami valymą, būtinai pa­tik­rin­ki­te, kokie vaizdai bus pašalinti. Pa­si­rin­kus -a parinktį, gali būti ištrinti ne­nau­do­ja­mi vaizdai, kurie jums vis dar gali prireikti.

Kaip pašalinti „Docker“ tomus

Tomas yra nuo­la­ti­nis ir išsaugo duomenis net ir tada, kai susijęs kon­t­ei­ne­ris ne­be­vei­kia. Laikui bėgant šie tomai gali iš­si­plės­ti ir be reikalo eikvoti išteklius.

docker volume prune
bash

Ši komanda suranda visus tomus, kuriuose nėra aktyvių kon­t­ei­ne­rių. Jums bus pateiktas sąrašas tomų, kuriuos siūloma pašalinti, o prieš vykdant valymą reikės pa­tvir­tin­ti šį veiksmą.

Tuo tarpu komanda docker volume rm skirta konk­re­čiam atskirų „Docker“ tomų pa­ša­li­ni­mui. Tai gali būti naudinga, jei tiksliai žinote, kurį tomą norite ištrinti, ne­pri­klau­so­mai nuo to, ar jį šiuo metu naudoja kon­t­ei­ne­ris. Norėdami pašalinti konkretų „Docker“ tomą, naudokite komandą docker volume rm, po kurios nu­ro­dy­ki­te tomo pa­va­di­ni­mą arba ID:

docker volume rm volume_name
bash

Dar kartą įsi­ti­kin­ki­te, kad žinote naštos, kurią ketinate ištrinti, pa­va­di­ni­mą arba iden­ti­fi­ka­to­rių, nes ši komanda duomenis pašalina visam laikui ir šios ope­ra­ci­jos atšaukti neįmanoma.

Kaip pašalinti „Docker“ tinklus

„Docker“ tinkle tinklai yra pag­rin­di­nis kom­po­nen­tas, lei­džian­tis kon­t­ei­ne­riams tar­pu­sa­vy­je bendrauti, nesvarbu, ar jie yra tame pačiame serveryje, ar iš­si­bars­tę po kelis serverius. „Docker“ tinklai išlieka net ir po to, kai kon­t­ei­ne­riai uždaromi arba pa­ša­li­na­mi. Laikui bėgant tai gali sukelti ne­nau­do­ja­mų tinklų su­si­kau­pi­mą, kurie be reikalo eikvoja išteklius. Komanda docker prune network yra paprastas būdas šiuos ne­nau­do­ja­mus tinklus nustatyti ir pašalinti.

Komanda turi tokį formatą:

docker network prune [OPTIONS]
bash

„Docker“ sukuria sąrašą visų tinklų, kurių ne­bei­nau­do­ja aktyvūs kon­t­ei­ne­riai arba į kuriuos nebėra nuorodų. Prieš faktiškai pa­ša­li­nant tinklus, prašoma pa­tvir­tin­ti šį veiksmą.

Geriausia Docker praktika prune

  • Au­to­ma­ti­nis valymas: Naudokite au­to­ma­ti­nius sce­na­ri­jus ar įrankius, kad re­gu­lia­riai iš­va­ly­tu­mė­te ne­be­rei­ka­lin­gus „Docker“ atvaizdus, kon­t­ei­ne­rius ir tomus. Tai padeda išlaikyti aplinką tvarkingą ir op­ti­mi­zuo­ja našumą.
  • Saugumo pataisos ir at­nau­ji­ni­mai: Re­gu­lia­riai tik­rin­ki­te, ar yra saugumo at­nau­ji­ni­mų ir pataisų „Docker“ va­rik­liams, pag­rin­di­nėms ope­ra­ci­nėms sistemoms ir visiems „Docker“ at­vaiz­dams. Šių kom­po­nen­tų at­nau­ji­ni­mas padeda sumažinti galimas saugumo spragas.
  • Ste­bė­ji­mas ir re­gist­ra­vi­mas: naudokite stebėjimo ir re­gist­ra­vi­mo įrankius, kad ste­bė­tu­mė­te kon­t­ei­ne­rių našumą, ap­tik­tu­mė­te netikėtus įvykius ir ska­tin­tu­mė­te aktyvią priežiūrą.
  • Išorinė atsarginė kopija: Nu­sta­ty­ki­te svar­biau­sių duomenų iš „Docker“ kon­t­ei­ne­rių išorinės at­sar­gi­nės kopijos kūrimo tvarką, pvz., re­gu­lia­riai kurkite duomenų bazių turinio ar kon­fi­gū­ra­ci­jos failų at­sar­gi­nes kopijas.
  • Rankinis pa­tik­ri­ni­mas prieš pa­ša­li­ni­mą: Prieš pa­ša­lin­da­mi tam tikrus išteklius, atidžiai pa­tik­rin­ki­te, ar jų ne­be­rei­kia. Tai sumažins at­si­tik­ti­nio duomenų praradimo ar vyks­tan­čių procesų per­trau­ki­mo riziką.
Tip

Jei tik pradedate dirbti su „Docker“, re­ko­men­duo­ja­me per­skai­ty­ti mūsų išsamų „Docker“ vadovą.

Go to Main Menu