Kon­tej­ner­ji zavzemajo prostor na disku in vire v go­sti­telj­skem sistemu. Z od­stra­ni­tvi­jo kon­tej­ner­jev, ki jih ne po­tre­bu­je­te več, lahko sprostite dragoceni prostor za shra­nje­va­nje in iz­bolj­ša­te zmo­glji­vost sistema.

Kdaj je treba od­stra­ni­ti Doc­ker­je­ve kon­tej­ner­je?

Doc­ker­je­vi kon­tej­ner­ji so ločene, iz­ve­dlji­ve enote, ki vsebujejo apli­ka­ci­je in njihove od­vi­sno­sti. V nekaterih primerih je smiselno od­stra­ni­ti Doc­ker­je­ve kon­tej­ner­je, da bo vaše Doc­ker­je­vo okolje čim bolj učin­ko­vi­to, varno in enostavno za upra­vlja­nje.

Najprej in predvsem morate od­stra­ni­ti kon­tej­ner­je, ko so izpolnili svoj namen. Ko kontejner uspešno zaključi svojo nalogo ali proces, nima smisla, da ga ohranite v svojem okolju. S tem pre­pre­či­te, da bi neaktivni kon­tej­ner­ji po ne­po­treb­nem zasedali vire in prostor.

Prav tako je pri­po­ro­člji­vo od­stra­ni­ti kon­tej­ner­je, ki se trenutno ne upo­ra­blja­jo ali ki že dolgo niso bili po­so­do­blje­ni. To je še posebej pomembno za zmanj­ša­nje var­no­stnih tveganj, saj lahko starejši kon­tej­ner­ji vsebujejo zastarele različice pro­gram­ske opreme ali varnostne ran­lji­vo­sti.

Če imate pomisleke glede varnosti kon­tej­ner­ja ali sumite, da je ogrožen, ga morate takoj od­stra­ni­ti. Enako velja za kon­tej­ner­je, ki jih zaradi kon­flik­tov ali drugih težav ni mogoče zagnati.

Kako od­stra­ni­ti enega ali več Doc­ker­je­vih kon­tej­ner­jev

Od­stra­nje­va­nje enega ali več določenih Doc­ker­je­vih kon­tej­ner­jev je običajen postopek, ko gre za od­stra­nje­va­nje ne­po­treb­nih ali ne­ak­tiv­nih kon­tej­ner­jev z Doc­ker­je­ve­ga go­sti­te­lja.

Korak 1: Navedite iden­ti­fi­ka­tor­je ali imena kon­tej­ner­jev

Najprej morate ugotoviti ID-je ali imena kon­tej­ner­jev, ki jih želite od­stra­ni­ti. Za prikaz seznama vseh zagnanih in usta­vlje­nih kon­tej­ner­jev lahko uporabite naslednji ukaz:

docker ps -a
bash

Korak 2: Od­stra­ni­te posodo

Za **ukazom docker rm** lahko preprosto vnesete ID-je ali imena kon­tej­ner­jev, ločene s presledki:

docker rm container_id_or_name1 container_id_or_name2
bash

Kako od­stra­ni­ti Dockerjev kontejner ob izhodu

Če želite kontejner samodejno od­stra­ni­ti po njegovem zaključku, pri zagonu kon­tej­ner­ja z ukazom docker run nastavite oznako --rm. Ta oznaka poskrbi, da se kontejner samodejno odstrani takoj, ko konča delovanje.

docker run --rm image_name
bash

Kako od­stra­ni­ti vse zaprte Docker-kon­tej­ner­je

Prav tako je mogoče vse zaprte kon­tej­ner­je od­stra­ni­ti naenkrat, tako da jih fil­tri­ra­te glede na njihov status in jih od­stra­ni­te z ukazom rm.

Korak 1: Prikaži seznam zaprtih kon­tej­ner­jev

Z možnostjo -f status=exited lahko fil­tri­ra­te seznam kon­tej­ner­jev, da se prikažejo le tisti, ki so se zaprli.

docker ps -a -f status=exited
bash

Korak 2: Od­stra­ni­te zaprte posode

Rezultat prej­šnje­ga koraka uporabimo za pri­do­bi­tev iden­ti­fi­ka­cij­skih številk zaprtih kon­tej­ner­jev in jih ne­po­sre­dno po­sre­du­je­mo ukazu docker rm.

docker rm $(docker ps -a -f status=exited -q)
bash

Kako od­stra­ni­ti vse Docker-kon­tej­ner­je z več kot enim filtrom

Doc­ker­je­ve kon­tej­ner­je z več kot enim filtrom lahko od­stra­ni­te, če uporabite ukaz docker ps skupaj z možnostmi fil­tri­ra­nja in nato izhodne podatke po­sre­du­je­te ukazu docker rm.

1. korak: Prikaži zabojnike s filtri

Najprej vnesemo ukaz docker ps z možnostmi fil­tri­ra­nja, da pridobimo seznam kon­tej­ner­jev v skladu z želenimi merili. Poleg statusa »exited« je na voljo še status »created «. Kon­tej­ner­ji s statusom »created« so tisti, ki so bili ustvar­je­ni, a še niso bili izvedeni.

docker ps -a -f status=exited -f status=created
bash

Korak 2: Od­stra­ni­te Dockerjev kontejner

Tako kot v zgornjem primeru izhodno vrednost prenesemo na docker rm.

docker rm $(docker ps -a -f status=exited -f status=created -q)
bash

Kako od­stra­ni­ti Doc­ker­je­ve kon­tej­ner­je po določenem vzorcu

Iskanje vseh Doc­ker­je­vih kon­tej­ner­jev, ki ustrezajo do­lo­če­ne­mu vzorcu, in njihovo od­stra­nje­va­nje s pomočjo awk, xargs in docker rm je učinkovit način za se­lek­tiv­no od­stra­nje­va­nje kon­tej­ner­jev.

Korak 1: Napišite seznam vseh posod z vzorcem

Če uporabite ukaz docker ps -a v kom­bi­na­ci­ji z ukaz grep, boste dobili vse kon­tej­ner­je z imeni ali oznakami, ki ustrezajo do­lo­če­ne­mu vzorcu. Na primer, lahko prikažete vse kon­tej­ner­je, katerih imena se začnejo z »test-«:

docker ps -a | grep "test-"
bash

Korak 2: Od­stra­ni­te Doc­ker­je­ve kon­tej­ner­je

Z ukazom awk lahko izberete določene stolpce iz izhodnih re­zul­ta­tov. V tem primeru želimo izločiti prvi stolpec, ki vsebuje iden­ti­fi­ka­cij­ske številke kon­tej­ner­jev. Z xargs lahko te iden­ti­fi­ka­cij­ske številke po­sre­du­je­mo ukazu docker rmi in od­stra­ni­mo Doc­ker­je­ve kon­tej­ner­je.

docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmi
bash

Kako ustaviti in od­stra­ni­ti vse Docker-kon­tej­ner­je

Naenkrat lahko za­u­sta­vi­te in od­stra­ni­te vse aktivne in neaktivne kon­tej­ner­je v sistemu. To je lahko koristno, če želite temeljito počistiti svoje okolje Docker.

Korak 1: Napišite seznam vseh posod

Vnesite naslednji ukaz, da preverite seznam kon­tej­ner­jev:

docker ps -a
bash

Korak 2: Ustavite zabojnike

Ko boste pri­pra­vlje­ni, pre­u­sme­ri­te izhod na docker stop. S tem boste ustavili vse kon­tej­ner­je.

docker stop $(docker ps -a -q)
bash

Korak 3: Od­stra­ni­te Doc­ker­je­ve kon­tej­ner­je

Ko so vsi kon­tej­ner­ji usta­vlje­ni, jih lahko od­stra­ni­te z ukazom docker rm:

docker rm $(docker ps -a -q)
bash

V nasprotju z obi­čaj­ni­mi Doc­ker­je­vi­mi kon­tej­ner­ji so Doc­ker­je­vi kon­tej­ner­ski diski mehanizmi, ki omogočajo trajno shra­nje­va­nje podatkov ter njihovo izmenjavo med kon­tej­ner­ji in go­sti­telj­skim sistemom.

V našem di­gi­tal­nem vodniku najdete še druge navodila za Docker, med drugim tudi navodila za od­stra­ni­tev Doc­ker­je­ve­ga prostora in izbris Doc­ker­je­ve slike.

Go to Main Menu