Kuidas eemaldada Docker-konteinerid ja vabastada ressursse
Konteinerid võtavad hõivata kettaruumi ja ressursse teie host-süsteemis. Kui vabanete enam mittevajalikest konteineritest, saate vabastada väärtuslikku salvestusruumi ja parandada süsteemi jõudlust.
Millal tuleks Docker-konteinerid eemaldada?
Docker-konteinerid on isoleeritud, käivitatavad üksused, mis sisaldavad rakendusi ja nende sõltuvusi. Mitmesugustes olukordades on mõistlik Docker-konteinerid eemaldada, et tagada oma Docker-keskkonna võimalikult suur tõhusus, turvalisus ja haldamise lihtsus.
Esmajoones tuleks konteinerid eemaldada kohe, kui need on oma ülesande täitnud. Kui konteiner on oma konkreetse ülesande või protsessi edukalt lõpetanud, ei ole mõtet seda keskkonnas alles jätta. See aitab vältida, et mitteaktiivsed konteinerid seaksid ressursse kinni ja võtaksid tarbetult ruumi.
Samuti on mõistlik eemaldada konteinerid, mida aktiivselt ei kasutata või mida pole pikka aega uuendatud. See on eriti oluline turvariskide vähendamiseks, kuna vanemates konteinerites võivad olla aegunud tarkvaraversioonid või turvaaugud.
Kui teil on kahtlusi mõne konteineri turvalisuse suhtes või kahtlustate, et selle turvalisus on ohustatud, peaksite selle viivitamatult eemaldama. Sama kehtib ka konteinerite kohta, mida ei ole võimalik käivitada konfliktide või muude probleemide tõttu.
Kuidas eemaldada üks või mitu Docker-konteinerit
Ühe või mitme konkreetse Docker-konteineri eemaldamine on tavaline protsess, kui soovitakse Docker-hostist eemaldada mittevajalikud või mitteaktiivsed konteinerid.
1. samm: Loetlege konteinerite ID-d või nimed
Esmalt tuleb välja selgitada nende konteinerite ID-d või nimed, mida soovid eemaldada. Kõigi käimasolevate ja peatatud konteinerite nimekirja kuvamiseks võid kasutada järgmist käsku:
docker ps -abash2. samm: Eemalda anum
Saad lihtsalt sisestada konteinerite ID-d või nimed tühikutega eraldatuna käsu „docker rm“ järele:
docker rm container_id_or_name1 container_id_or_name2bashKuidas Docker-konteinerit väljumisel eemaldada
Et konteiner pärast selle sulgemist automaatselt eemaldada, määra käskuga docker run konteinerit käivitades lipukese --rm. See lipuke tagab, et konteiner eemaldatakse automaatselt niipea, kui see on töö lõpetanud.
docker run --rm image_namebashKuidas eemaldada kõik lõpetatud Docker-konteinerid
Samuti on võimalik eemaldada kõik lõpetatud konteinerid korraga, filtreerides neid staatuse järgi ja eemaldades need käsuga rm.
1. samm: Loetlege lõpetatud konteinerid
Valikuga -f status=exited saate konteinerite nimekirja filtreerida, et kuvada ainult suletud konteinerid.
docker ps -a -f status=exitedbash2. samm: Eemalda lõpetatud konteinerid
Kasutame eelmise sammu väljundit, et saada lõpetatud konteinerite ID-d, ja edastame need otse käsule docker rm.
docker rm $(docker ps -a -f status=exited -q)bashKuidas eemaldada kõik Docker-konteinerid, millel on rohkem kui üks filter
Kui kasutad käsku docker ps koos filtri valikutega ja suunad väljundi edasi käsule docker rm, saad eemaldada Docker-konteinerid, millel on rohkem kui üks filter.
1. samm: Konteinerite loetelu filtrite abil
Esiteks sisestame käsu docker ps koos filtri valikutega, et saada soovitud kriteeriumidele vastavate konteinerite nimekiri. Lisaks staatusele „exited“ on valitav ka staatus „created “. Staatus ega „created“ konteinerid on need, mis on loodud, kuid mida pole veel käivitatud.
docker ps -a -f status=exited -f status=createdbash2. samm: Docker-konteineri eemaldamine
Nagu eelmises näiteski, edastame väljundi väärtuseks docker rm.
docker rm $(docker ps -a -f status=exited -f status=created -q)bashKuidas eemaldada Docker-konteinerid kindla mustri järgi
Kõigi teatud mustrile vastavate Docker-konteinerite leidmine ja nende eemaldamine käskudega awk, xargs ja docker rm on tõhus viis konteinerite valikuliseks eemaldamiseks.
1. samm: Loetlege kõik mustriga konteinerid
Kui kasutad käsku docker ps -a koos käskuga grep, saad tulemuseks kõik konteinerid, mille nimed või sildid vastavad kindlale mustrile. Näiteks saad loetleda kõik konteinerid, mille nimed algavad sõnaga „test-”:
docker ps -a | grep "test-"bash2. samm: Docker-konteinerite eemaldamine
Käsk awk võimaldab valida väljundist konkreetseid veerge. Siin soovime eraldada esimese veeru, mis sisaldab konteinerite ID-sid. Saame kasutada xargs, et edastada ID-d käskule docker rmi ja eemaldada Docker-konteinerid.
docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmibashKuidas peatada ja eemaldada kõik Docker-konteinerid
Võite korraga peatada ja eemaldada kõik süsteemis olevad aktiivsed ja mitteaktiivsed konteinerid. See võib olla kasulik, kui soovite oma Docker-keskkonda põhjalikult puhastada.
1. samm: Loetlege kõik konteinerid
Sisestage järgmine käsk, et vaadata konteinerite nimekirja:
docker ps -abash2. samm: Peatage konteinerid
Kui oled valmis, suuna väljund numbrile docker stop. See peatab kõik konteinerid.
docker stop $(docker ps -a -q)bash3. samm: Docker-konteinerite eemaldamine
Kui kõik konteinerid on peatatud, saate need eemaldada käsuga docker rm:
docker rm $(docker ps -a -q)bashErinevalt tavalistest Docker-konteineritest on Docker-konteinerite mahud mehhanismid, mis võimaldavad andmete püsivust ning nende jagamist konteinerite ja host-süsteemi vahel.
Meie digitaalsest juhendist leiate teisi Docker-õpetusi, sealhulgas juhiseid Docker-mahuti eemaldamiseks ja Docker-pildi kustutamiseks.