Kaip pašalinti „Docker“ konteinerius ir atlaisvinti išteklius
Konteineriai užima vietos diske ir naudoja pagrindinės sistemos išteklius. Pašalinę nebereikalingus konteinerius, galite atlaisvinti vertingos saugyklos vietos ir pagerinti sistemos našumą.
Kada reikėtų pašalinti „Docker“ konteinerius?
„Docker“ konteineriai – tai izoliuoti, paleidžiami vienetai, kuriuose yra programos ir jų priklausomybės. Įvairiose situacijose verta pašalinti „Docker“ konteinerius, kad jūsų „Docker“ aplinka būtų kuo efektyvesnė, saugesnė ir lengviau valdoma.
Visų pirma, turėtumėte pašalinti konteinerius, kai jie jau atliko savo funkciją. Kai konteineris sėkmingai įvykdo konkrečią užduotį ar procesą, nėra prasmės jo palikti aplinkoje. Tai padeda išvengti, kad neaktyvūs konteineriai be reikalo eikvotų išteklius ir užimtų vietą.
Taip pat patartina pašalinti konteinerius, kurie šiuo metu nenaudojami arba nebuvo atnaujinami ilgą laiką. Tai ypač svarbu siekiant sumažinti saugumo riziką, nes senesniuose konteineriuose gali būti pasenusios programinės įrangos versijos arba saugumo pažeidžiamumai.
Jei turite abejonių dėl konteinerio saugumo arba įtariate, kad jis gali būti pažeistas, turėtumėte jį nedelsiant pašalinti. Tas pats galioja ir tiems konteineriams, kurių neįmanoma paleisti dėl konfliktų ar kitų problemų.
Kaip pašalinti vieną ar kelis „Docker“ konteinerius
Vieno ar kelių konkrečių „Docker“ konteinerių pašalinimas yra įprastas veiksmas, kai reikia pašalinti nereikalingus arba neaktyvius konteinerius iš „Docker“ šeimininko.
1 žingsnis: Išvardykite konteinerių ID arba pavadinimus
Pirmiausia reikia sužinoti tų konteinerių, kuriuos norite pašalinti, ID arba pavadinimus. Norėdami peržiūrėti visų veikiančių ir sustabdytų konteinerių sąrašą, galite naudoti šią komandą:
docker ps -abash2 etapas: Išimkite indą
Po komandos „docker rm“ galite tiesiog įvesti konteinerių ID arba pavadinimus, atskirtus tarpeliais:
docker rm container_id_or_name1 container_id_or_name2bashKaip pašalinti „Docker“ konteinerį išeinant
Norėdami, kad konteineris būtų automatiškai pašalintas jam pasibaigus, paleisdami jį komanda docker run nustatykite žymę --rm. Ši žymė užtikrina, kad konteineris bus automatiškai pašalintas, vos tik jis baigs veikti.
docker run --rm image_namebashKaip pašalinti visus uždarytus „Docker“ konteinerius
Taip pat galima iš karto pašalinti visus uždarytus konteinerius, juos atrinkus pagal būseną ir pašalinus naudojant komandą rm.
1 žingsnis: Išvardykite uždarytus konteinerius
Pasirinkus -f status=exited parinktį, galite filtruoti konteinerių sąrašą, kad būtų rodomi tik uždaryti konteineriai.
docker ps -a -f status=exitedbash2 žingsnis: Pašalinkite išeinančius konteinerius
Naudodami ankstesnio žingsnio rezultatą, gauname uždarytų konteinerių ID ir perduodame juos tiesiai komandai docker rm “.
docker rm $(docker ps -a -f status=exited -q)bashKaip pašalinti visus „Docker“ konteinerius, turinčius daugiau nei vieną filtrą
Galite pašalinti „Docker“ konteinerius, kuriems taikomas daugiau nei vienas filtras, jei naudodami docker ps komandą kartu su filtravimo parinktimis, o gautus rezultatus perduosite docker rm komandai.
1 žingsnis: Konteinerių sąrašas su filtrais
Pirmiausia įvedame komandą docker ps su filtravimo parinktimis, kad gautume konteinerių sąrašą pagal norimus kriterijus. „created“ yra dar viena pasirenkama būsena, greta „exited“. Konteineriai su būsena „created“ yra tie, kurie buvo sukurti, bet dar nevykdomi.
docker ps -a -f status=exited -f status=createdbash2 žingsnis: Pašalinkite „Docker“ konteinerį
Kaip ir ankstesniame pavyzdyje, išvestį perduodame docker rm.
docker rm $(docker ps -a -f status=exited -f status=created -q)bashKaip pašalinti „Docker“ konteinerius pagal nustatytą schemą
Visų Docker konteinerių, atitinkančių tam tikrą šabloną, paieška ir jų pašalinimas naudojant awk, xargs ir docker rm komandas yra veiksmingas būdas selektyviai pašalinti konteinerius.
1 žingsnis: Sudarykite visų konteinerių, kuriuose yra šis raštas, sąrašą
Jei komandą docker ps -a naudosite kartu su grep, gausite visus konteinerius, kurių pavadinimai arba žymės atitinka nurodytą šabloną. Pavyzdžiui, galite išvardyti visus konteinerius, kurių pavadinimai prasideda žodžiu „test-“:
docker ps -a | grep "test-"bash2 žingsnis: Pašalinkite „Docker“ konteinerius
Komanda awk leidžia pasirinkti konkrečius stulpelius iš išvesties rezultatų. Šiuo atveju norime išgauti pirmąjį stulpelį, kuriame yra konteinerių ID. Galime naudoti xargs, kad perduotume ID komandai docker rmi ir pašalintume „Docker“ konteinerius.
docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmibashKaip sustabdyti ir pašalinti visus „Docker“ konteinerius
Galite vienu metu sustabdyti ir pašalinti visus aktyvius bei neaktyvius konteinerius savo sistemoje. Tai gali būti naudinga, jei norite išsamiai išvalyti savo „Docker“ aplinką.
1 žingsnis: Sudarykite visų konteinerių sąrašą
Įveskite šią komandą, kad peržiūrėtumėte konteinerių sąrašą:
docker ps -abash2 žingsnis: Sustabdykite konteinerius
Kai būsite pasirengę, nukreipkite išvestį į docker stop. Tai sustabdys visus konteinerius.
docker stop $(docker ps -a -q)bash3 žingsnis: Pašalinkite „Docker“ konteinerius
Kai visi konteineriai bus sustabdyti, juos galėsite pašalinti naudodami komandą docker rm:
docker rm $(docker ps -a -q)bashSkirtingai nuo įprastų „Docker“ konteinerių, „Docker“ konteinerių tomai yra mechanizmai, leidžiantys užtikrinti duomenų išsaugojimą ir jų dalijimąsi tarp konteinerių bei priimančiosios sistemos.
Mūsų skaitmeniniame vadove rasite ir kitų „Docker“ pamokų, pavyzdžiui, kaip pašalinti „Docker“ tomą ir kaip ištrinti „Docker“ atvaizdą.