Kaip naudoti „Docker prune“ – pamoka su pavyzdžiais
„Docker prune pašalina nereikalingus objektus, pavyzdžiui, sustabdytus konteinerius, nenaudojamus tomus ir senus tinklus ar atvaizdus. Tai padeda optimizuoti kietojo disko naudojimą ir atlaisvina saugojimo vietą.
Kas yra „Docker prune“?
„Docker prune arba system prune yra naudingos norint sistemingai išvalyti nebereikalingus „Docker“ išteklius ir taip atlaisvinti atmintį. Jei „Docker“ konteineriai, atvaizdai, tinklai ir tomai ilgą laiką nenaudojami, jie gali užimti nemažai vietos diske. Naudodami prune, galite greitai pašalinti šiuos nenaudojamus išteklius, taip užtikrindami, kad jūsų sistema būtų tvarkinga ir veiktų maksimaliai efektyviai.
Ypač kūrimo aplinkose, kuriose dažnai kuriamos ir testuojamos naujos konteinerių aplinkos, gali susikaupti nemažai nebereikalingų objektų. „Docker prune veiksmingai pašalina ne tik nenaudojamus konteinerius ir atvaizdus, bet ir nebereikalingus tinklus bei tomus. Tai supaprastina „Docker“ išteklių valdymą ir sumažina riziką, kad sistema taps perkrauta ir nebeveiksminga.
Kam naudojamas „Docker prune “?
Komanda prune tinka įvairioms situacijoms kasdieniame darbe su „Docker“. Toliau pateikiame keturis tipiškus jos naudojimo atvejus.
Optimizuokite darbo procesus: „Docker“ aplinkos dažnai naudojamos kūrimo, testavimo ir gamybos tikslais. Jei reguliariai nevykdomas valymas, tai gali lemti greitą nereikalingų išteklių kaupimąsi. Toks perkrovimas ne tik padidina atminties naudojimą, bet ir gali neigiamai paveikti sistemos našumą. Pašalinant nenaudojamus išteklius, „Docker prune užtikrina efektyvesnį sistemos išteklių naudojimą. Tai ypač svarbu debesų aplinkose, kur išlaidos didėja kartu su saugojimo ir skaičiavimo išteklių paklausa.
Padidinkite saugumą: nereikalingi ir pasenę „Docker“ ištekliai gali kelti grėsmę saugumui. „Docker prune pašalina nenaudojamus konteinerius, atvaizdus, tinklus ir tomus, taip sumažindamas tikimybę, kad pasenę ir potencialiai pažeidžiami komponentai liks nesaugomi. Tvarkingos „Docker“ ekosistemos palaikymas sumažina atakų paviršių ir sustiprina bendrą jūsų IT infrastruktūros saugumą.
Našumo didinimas: Perkrauta „Docker“ aplinka gali sumažinti sistemos našumą, nes eikvoja nereikalingus išteklius, pavyzdžiui, procesoriaus ir atminties resursus. Reguliariai valant sistemą naudojant „Docker prune, atlaisvinama vietos diske ir padidinamas konteinerių valdymo bei vykdymo efektyvumas. Tai leidžia žymiai sutrumpinti įkėlimo laiką, pagreitinti programų diegimą ir pagerinti bendrą sistemos reagavimo greitį.
Paprastesnė priežiūra: Reguliarus prune naudojimas žymiai supaprastina jūsų „Docker“ aplinkos priežiūrą. Pašalinant nenaudojamus išteklius, sumažėja valdymo užduočių sudėtingumas kūrėjams. Tai leidžia lengviau stebėti aktyvius ir reikalingus „Docker“ komponentus, o tai pagreitina gedimų šalinimą. Dėl to komandos sutaupo laiko, skirto administravimui, ir gali daugiau dėmesio skirti programų kūrimui bei tobulinimui, o ne nereikalingų išteklių tvarkymui.
Kokia yra „Docker prune“ sintaksė?
Ar turite „Docker“ aplinką ir norite išvalyti išteklius, kad atlaisvintumėte vietos diske ir supaprastintumėte valdymą? Tokiu atveju tiesiog įvykdykite šią komandą, kad pasiektumėte prune paslaugas:
docker system prunebashPagal numatytuosius nustatymus „Docker“ nustato sustabdytus konteinerius, nenaudojamus atvaizdus, tinklus ir tomus, kuriuos galima pašalinti, ir prieš pašalinimą prašo jūsų patvirtinimo. Norėdami tęsti, tiesiog įveskite „y“ ir paspauskite klavišą „Enter“. Taip pat galite naudoti parinktį -f, kad praleistumėte patvirtinimą ir išvalymą paleistumėte iš karto:
docker system prune -fbashPatarimas: Prieš pradedant naudoti „Docker prune, verta patikrinti, kokie „Docker“ ištekliai šiuo metu yra sistemoje. Norėdami gauti visų konteinerių, atvaizdų, tinklų ir tomų sąrašą, įvykdykite šias komandas:
docker ps -a
docker images
docker volume ls
docker network lsbash„Docker“ prune parinktys
Toliau pateiktoje lentelėje pateikiama įvairių docker system prune versijos parinkčių apžvalga.
| Pasirinkimas | Aprašymas |
|---|---|
--all, -a
|
Pašalina visus nenaudojamus „Docker“ išteklius. |
--force, -f
|
Atlieka valymą be vartotojo patvirtinimo. |
--volumes
|
Pašalina nenaudojamus tomus. |
--filter, -f
|
Leidžia filtruoti pašalinamus išteklius pagal kriterijus. |
--help
|
Rodo pagalbą apie komandos naudojimą. |
Kaip naudoti komandą „Docker prune “
„Docker“ siūlo įvairias komandas, leidžiančias tikslingai išvalyti konkrečių tipų išteklius. Tai suteikia lankstumą tiksliai kontroliuoti, kurie ištekliai turėtų būti pašalinti.
Docker prune --filter
Naudodami filtrą galite valdyti pašalinamų išteklių, pavyzdžiui, konteinerių, atvaizdų, tinklų ir tomų, pasirinkimą. Tai ypač naudinga kūrimo aplinkose, kuriose gali būti sukurta daug laikinių išteklių, apie kuriuos greitai pamirštama.
Bendroji sintaksė yra tokia:
docker <command> prune --filter "filter=<value>"bashĮvairios filtravimo galimybės apima:
until: Filtruoja išteklius pagal jų sukūrimo datą. Čia<duration>gali būti skaitmeninė reikšmė su matavimo vienetu, pvz.,h(valandos),m(minutės) arbas(sekundės).
docker <command> prune --filter "until=<duration>"bashPavyzdys: pašalinti visus sustabdytus konteinerius, kurių senumas viršija 24 valandas
docker container prune --filter "until=24h"bashlabel: Filtruoja išteklius pagal jų „Docker“ žymes
docker <command> prune --filter "label=<label>"bashPavyzdys: Išvalykite visus nenaudojamus tomus, pažymėtus žyma mylabel
docker volume prune --filter "label=mylabel"bashdangling: Filtruoja išteklius, kurių konteineris nebeinaudoja
docker <command> prune --filter "dangling=true"bashPavyzdys: Pašalinti visus nebenaudojamus (nepriskirtus) paveikslėlius*
docker image prune --filter "dangling=true"bashBe minėtų pagrindinių filtrų, taip pat yra ir konkretesnių filtravimo parinkčių, priklausančių nuo išteklių tipo:
beforeirsincevaizdams: filtruoja vaizdus pagal jų sukūrimo datą – iki tam tikro laiko taško arba nuo joexitedkonteineriams: filtruoja konteinerius pagal jų užbaigimo būseną (pavyzdžiui,exited=0sėkmingai užbaigtiems konteineriams)
Kaip pašalinti „Docker“ išteklius
1 žingsnis: Atidarykite terminalo langą arba komandų eilutę savo kompiuteryje.
2 žingsnis: Paleiskite „Docker prune, kad išvalytumėte sistemą:
docker {resource} prunebashPakeiskite {resource} į išvalyti norimų išteklių tipą. Galimos reikšmės: container, image, volume ir network.
Kaip pašalinti „Docker“ konteinerius
Pagal numatytuosius nustatymus „Docker“ automatiškai neišlaisvina konteinerių, kai jų gyvavimo ciklas baigiasi. Svarbu reguliariai tikrinti sustabdytus konteinerius ir prireikus juos išvalyti, kad būtų atlaisvinti užimti ištekliai veikiantiems konteineriams. Tai galima padaryti dviem būdais.
docker rm: Komandadocker rmskirta vienam arba keliems „Docker“ konteineriams pašalinti rankiniu būdu. Jei tiksliai žinote, kuriuos konteinerius norite pašalinti, tai yra tinkamiausias būdas. Turite aiškiai nurodyti pašalintinų konteinerių ID arba pavadinimus, kad galėtumėte iš savo aplinkos pašalinti tik konkrečius konteinerius, nepažeidžiant kitų.
Štai pavyzdys, kaip ištrinti konteinerius, kurių pavadinimai yra container1 ir container2:
docker rm container1 container2bashdocker container prune: Tuo tarpudocker container pruneyra komanda, skirta vienu metu pašalinti kelis sustabdytus konteinerius. Šis metodas ypač tinka greitai ir efektyviai atlaisvinti vietą, pašalinant visus sustabdytus konteinerius, kuriuose šiuo metu nevyksta jokie procesai.
docker container prunebashČia pateikiamas visų sustabdytų konteinerių sąrašas, o prieš juos pašalinant „Docker“ paprašo patvirtinimo. Tai labai praktiška aplinkose, kuriose sukurta daug laikinių konteinerių, kurie vėliau tampa nereikalingi.
Siekiant užtikrinti kasdienį „Docker“ aplinkos valdymą ir priežiūrą, rekomenduojama reguliariai naudoti docker container prune, kad sustabdyti konteineriai būtų automatiškai išvalomi. Šis metodas padeda sutaupyti laiko ir užtikrina, kad nereikalingi ištekliai netrukdytų sistemos našumui. Tuo tarpu docker rm puikiai tinka tikslingai ir kontroliuojamai pašalinti konkrečius konteinerius, nesvarbu, ar tai būtų daroma testavimo, kūrimo ar kitokių konkrečių poreikių tikslais.
Kaip pašalinti „Docker“ vaizdus
„Docker“ atvaizdai yra konteinerių sudedamosios dalys. Laikui bėgant jie gali turėti daugybę skirtingų versijų ir žymių. Kurdami ar atnaujinant naujus atvaizdus, dažnai lieka senų arba nenaudojamų atvaizdų, vadinamų „pakibusiais“. 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 nebevartojamus atvaizdus:
docker image prune [Options]bashČia galimos galimybės, pavyzdžiui:
-a,--all: Ši parinktis pašalina ne tik pakibusius vaizdus, bet ir nenaudojamus vaizdus. Nenaudojami vaizdai – tai tie, kurie nebeturi žymių ir todėl negali būti tiesiogiai nurodomi naudojant žymes.
docker image prune -abash-f,--force: Pagal numatytuosius nustatymus „Docker“ prašo patvirtinimo prieš faktiškai ištrinant atvaizdus. Pasirinkus-farba--force, galite praleisti šį patvirtinimo etapą ir išvalymą atlikti iš karto.
docker image prune -fbashKaip pašalinti visus „Docker“ atvaizdus
Be to, galite greitai ir išsamiai išvalyti visas sistemos „Docker“ vaizdus, kurių jau nebereikia. Norėdami veiksmingai naudoti „Docker prune, pirmiausia atidarykite terminalą arba komandų eilutę ir įveskite šią komandą:
docker image prune -a --forcebashPrieš pradėdami valymą, būtinai patikrinkite, kokie vaizdai bus pašalinti. Pasirinkus -a parinktį, gali būti ištrinti nenaudojami vaizdai, kurie jums vis dar gali prireikti.
Kaip pašalinti „Docker“ tomus
Tomas yra nuolatinis ir išsaugo duomenis net ir tada, kai susijęs konteineris nebeveikia. Laikui bėgant šie tomai gali išsiplėsti ir be reikalo eikvoti išteklius.
docker volume prunebashŠi komanda suranda visus tomus, kuriuose nėra aktyvių konteinerių. Jums bus pateiktas sąrašas tomų, kuriuos siūloma pašalinti, o prieš vykdant valymą reikės patvirtinti šį veiksmą.
Tuo tarpu komanda docker volume rm skirta konkrečiam atskirų „Docker“ tomų pašalinimui. Tai gali būti naudinga, jei tiksliai žinote, kurį tomą norite ištrinti, nepriklausomai nuo to, ar jį šiuo metu naudoja konteineris. Norėdami pašalinti konkretų „Docker“ tomą, naudokite komandą docker volume rm, po kurios nurodykite tomo pavadinimą arba ID:
docker volume rm volume_namebashDar kartą įsitikinkite, kad žinote naštos, kurią ketinate ištrinti, pavadinimą arba identifikatorių, nes ši komanda duomenis pašalina visam laikui ir šios operacijos atšaukti neįmanoma.
Kaip pašalinti „Docker“ tinklus
„Docker“ tinkle tinklai yra pagrindinis komponentas, leidžiantis konteineriams tarpusavyje bendrauti, nesvarbu, ar jie yra tame pačiame serveryje, ar išsibarstę po kelis serverius. „Docker“ tinklai išlieka net ir po to, kai konteineriai uždaromi arba pašalinami. Laikui bėgant tai gali sukelti nenaudojamų tinklų susikaupimą, kurie be reikalo eikvoja išteklius. Komanda docker prune network yra paprastas būdas šiuos nenaudojamus tinklus nustatyti ir pašalinti.
Komanda turi tokį formatą:
docker network prune [OPTIONS]bash„Docker“ sukuria sąrašą visų tinklų, kurių nebeinaudoja aktyvūs konteineriai arba į kuriuos nebėra nuorodų. Prieš faktiškai pašalinant tinklus, prašoma patvirtinti šį veiksmą.
Geriausia Docker praktika prune
- Automatinis valymas: Naudokite automatinius scenarijus ar įrankius, kad reguliariai išvalytumėte nebereikalingus „Docker“ atvaizdus, konteinerius ir tomus. Tai padeda išlaikyti aplinką tvarkingą ir optimizuoja našumą.
- Saugumo pataisos ir atnaujinimai: Reguliariai tikrinkite, ar yra saugumo atnaujinimų ir pataisų „Docker“ varikliams, pagrindinėms operacinėms sistemoms ir visiems „Docker“ atvaizdams. Šių komponentų atnaujinimas padeda sumažinti galimas saugumo spragas.
- Stebėjimas ir registravimas: naudokite stebėjimo ir registravimo įrankius, kad stebėtumėte konteinerių našumą, aptiktumėte netikėtus įvykius ir skatintumėte aktyvią priežiūrą.
- Išorinė atsarginė kopija: Nustatykite svarbiausių duomenų iš „Docker“ konteinerių išorinės atsarginės kopijos kūrimo tvarką, pvz., reguliariai kurkite duomenų bazių turinio ar konfigūracijos failų atsargines kopijas.
- Rankinis patikrinimas prieš pašalinimą: Prieš pašalindami tam tikrus išteklius, atidžiai patikrinkite, ar jų nebereikia. Tai sumažins atsitiktinio duomenų praradimo ar vykstančių procesų pertraukimo riziką.
Jei tik pradedate dirbti su „Docker“, rekomenduojame perskaityti mūsų išsamų „Docker“ vadovą.