Slik fjerner du Docker-containere og frigjør ressurser
Containere tar opp diskplass og ressurser på vertsystemet ditt. Ved å fjerne containere du ikke lenger trenger, kan du frigjøre verdifull lagringsplass og forbedre systemets ytelse.
Når bør du fjerne Docker-containere?
Docker-containere er isolerte, kjørbare enheter som inneholder applikasjoner og deres avhengigheter. I mange tilfeller er det lurt å fjerne Docker-containere for å sikre at Docker-miljøet ditt er så effektivt, sikkert og oversiktlig som mulig.
Først og fremst bør du fjerne containere så snart de har tjent sitt formål. Når en container har fullført sin spesifikke oppgave eller prosess, gir det ingen mening å beholde den i miljøet ditt. Dette hindrer at inaktive containere opptar ressurser og tar opp unødvendig plass.
Det er også lurt å fjerne containere som ikke er i aktiv bruk eller som ikke har blitt oppdatert på lenge. Dette er særlig viktig for å minimere sikkerhetsrisikoen, siden eldre containere kan inneholde utdaterte programvareversjoner eller sikkerhetshull.
Hvis du er bekymret for sikkerheten til en container eller mistenker at den kan være kompromittert, bør du fjerne den umiddelbart. Det samme gjelder containere som ikke kan startes på grunn av konflikter eller andre problemer.
Slik fjerner du én eller flere Docker-containere
Å fjerne en eller flere bestemte Docker-containere er en vanlig prosess når man skal fjerne unødvendige eller inaktive containere fra Docker-verten.
Trinn 1: Oppgi container-ID-er eller -navn
Først må du finne ut ID-ene eller navnene på containerne du vil fjerne. Du kan bruke følgende kommando for å vise en liste over alle containere som kjører og som er stoppet:
docker ps -abashTrinn 2: Fjern beholderen
Du kan ganske enkelt skrive inn container-ID-ene eller -navnene, atskilt med mellomrom, etter kommandoen docker rm:
docker rm container_id_or_name1 container_id_or_name2bashHvordan fjerne en Docker-container når du avslutter
For å fjerne en container automatisk etter at den er avsluttet, må du angi flagget --rm når du starter containeren med kommandoen docker run. Dette flagget sørger for at containeren fjernes automatisk så snart den er ferdig.
docker run --rm image_namebashSlik fjerner du alle Docker-containere som er avsluttet
Det er også mulig å fjerne alle avsluttede containere samtidig ved å filtrere containerne etter status og fjerne dem ved hjelp av kommandoen rm.
Trinn 1: Vis en liste over avsluttede containere
Med alternativ -f status=exited kan du filtrere containerlisten slik at den kun viser de avsluttede containerne.
docker ps -a -f status=exitedbashTrinn 2: Fjern avsluttede containere
Vi bruker utdataene fra forrige trinn til å hente ID-ene til de avsluttede containerne og sender dem direkte til kommandoen docker rm.
docker rm $(docker ps -a -f status=exited -q)bashSlik fjerner du alle Docker-containere med mer enn ett filter
Du kan fjerne Docker-containere med flere enn ett filter ved å bruke kommandoen docker ps sammen med filteralternativene og deretter sende utdataene videre til kommandoen docker rm.
Trinn 1: Vis beholdere med filtre
Først skriver vi inn kommandoen docker ps med filteralternativene for å få en liste over containere i henhold til de ønskede kriteriene. «created» er en annen status man kan velge, i tillegg til «exited». Containere med statusen «created» er containere som er opprettet, men som ennå ikke er kjørt.
docker ps -a -f status=exited -f status=createdbashTrinn 2: Fjern Docker-beholderen
Akkurat som i eksemplet ovenfor sender vi utdataene videre til docker rm.
docker rm $(docker ps -a -f status=exited -f status=created -q)bashHvordan fjerne Docker-containere etter et bestemt mønster
Å finne alle Docker-containere som samsvarer med et bestemt mønster, og deretter fjerne dem ved hjelp av awk, xargs og docker rm, er en effektiv måte å fjerne containere på en selektiv måte.
Trinn 1: Lag en liste over alle beholdere med et mønster
Hvis du bruker kommandoen docker ps -a sammen med grep, får du opp alle containere med navn eller tagger som samsvarer med et bestemt mønster. Du kan for eksempel vise en liste over alle containere med navn som begynner med «test-»:
docker ps -a | grep "test-"bashTrinn 2: Fjern Docker-containere
Kommandoen awk lar deg velge bestemte kolonner fra utdataene. Her ønsker vi å hente ut den første kolonnen som inneholder container-ID-ene. Vi kan bruke xargs til å overføre ID-ene til kommandoen docker rmi og fjerne Docker-containerne.
docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmibashSlik stopper og fjerner du alle Docker-containere
Du kan stoppe og fjerne alle aktive og inaktive containere på systemet ditt på en gang. Dette kan være nyttig hvis du ønsker å gjennomføre en grundig opprydding av Docker-miljøet ditt.
Trinn 1: Oppgi alle containere
Skriv inn følgende kommando for å sjekke listen over containere:
docker ps -abashTrinn 2: Stopp beholderne
Når du er klar, videresender du utdataene til docker stop. Dette vil stoppe alle containere.
docker stop $(docker ps -a -q)bashTrinn 3: Fjern Docker-containere
Når alle containere er stoppet, kan du fjerne dem ved hjelp av kommandoen docker rm:
docker rm $(docker ps -a -q)bashI motsetning til vanlige Docker-containere er Docker-containervolum mekanismer som muliggjør lagring av data og deling mellom containere og vertsystemet.
I vår digitale guide finner du flere veiledninger om Docker, blant annet om hvordan du fjerner et Docker-volum og hvordan du sletter et Docker-bilde.