Sådan fjerner du Docker-containere og frigør ressourcer
Containere optager diskplads og ressourcer på dit værtsystem. Ved at slette de containere, du ikke længere har brug for, kan du frigøre værdifuld lagerplads og forbedre systemets ydeevne.
Hvornår bør man slette Docker-containere?
Docker-containere er isolerede, kørbare enheder, der indeholder applikationer og deres afhængigheder. I mange situationer kan det være en god idé at fjerne Docker-containere for at sikre, at dit Docker-miljø er så effektivt, sikkert og overskueligt som muligt.
Først og fremmest bør du slette containere, så snart de har udfyldt deres formål. Når en container har gennemført sin specifikke opgave eller proces, giver det ingen mening at beholde den i dit miljø. På den måde undgår du, at inaktive containere optager ressourcer og plads unødigt.
Det er også en god idé at fjerne containere, der ikke er i aktiv brug, eller som ikke er blevet opdateret i lang tid. Dette er især vigtigt for at minimere sikkerhedsrisici, da ældre containere kan indeholde forældede softwareversioner eller sikkerhedsrisici.
Hvis du er bekymret for sikkerheden i en container eller har mistanke om, at den er blevet kompromitteret, bør du straks fjerne den. Det samme gælder for containere, der ikke kan startes på grund af konflikter eller andre problemer.
Sådan fjerner du en eller flere Docker-containere
Det er en almindelig fremgangsmåde at slette en eller flere bestemte Docker-containere, når man skal fjerne unødvendige eller inaktive containere fra Docker-værten.
Trin 1: Angiv container-id’er eller -navne
Først skal du finde ID’erne eller navnene på de containere, du vil fjerne. Du kan bruge følgende kommando til at få vist en liste over alle kørende og stoppede containere:
docker ps -abashTrin 2: Fjern beholderen
Du kan blot indtaste container-id’erne eller -navnene adskilt med mellemrum efter **kommandoen docker rm**:
docker rm container_id_or_name1 container_id_or_name2bashSådan fjerner du en Docker-container, når du lukker ned
Hvis du vil fjerne en container automatisk, når den er afsluttet, skal du angive flaget --rm, når du starter containeren med kommandoen docker run. Dette flag bevirker, at containeren fjernes automatisk, så snart den er færdig.
docker run --rm image_namebashSådan fjerner du alle lukkede Docker-containere
Det er også muligt at fjerne alle afsluttede containere på én gang ved at filtrere containerne efter deres status og fjerne dem ved hjælp af kommandoen rm.
Trin 1: Vis en liste over afsluttede containere
Med indstilling -f status=exited kan du filtrere containerlisten, så den kun viser de containere, der er lukket ned.
docker ps -a -f status=exitedbashTrin 2: Fjern afsluttede containere
Vi bruger resultatet fra det foregående trin til at hente ID’erne på de afsluttede containere og sender dem direkte videre til kommandoen docker rm.
docker rm $(docker ps -a -f status=exited -q)bashSådan fjerner du alle Docker-containere med mere end ét filter
Du kan fjerne Docker-containere med mere end ét filter, hvis du bruger kommandoen docker ps sammen med filterindstillingerne og derefter sender resultatet videre til kommandoen docker rm.
Trin 1: Vis containere med filtre
Først indtaster vi kommandoen docker ps sammen med filterindstillingerne for at få en liste over containere, der opfylder de ønskede kriterier. »created« er en anden status, man kan vælge, ud over »exited«. Containere med status »created« er containere, der er oprettet, men endnu ikke kørt.
docker ps -a -f status=exited -f status=createdbashTrin 2: Fjern Docker-containeren
Ligesom i eksemplet ovenfor sender vi uddataen videre til docker rm.
docker rm $(docker ps -a -f status=exited -f status=created -q)bashSådan fjerner du Docker-containere efter et bestemt mønster
At finde alle Docker-containere, der matcher et bestemt mønster, og derefter slette dem med kommandoerne awk, xargs og docker rm er en effektiv måde at fjerne udvalgte containere på.
Trin 1: Lav en liste over alle containere med et mønster
Hvis du bruger kommandoen docker ps -a sammen med grep, får du alle containere, hvis navne eller tags matcher et bestemt mønster. Du kan for eksempel få vist alle containere, hvis navne begynder med »test-«:
docker ps -a | grep "test-"bashTrin 2: Fjern Docker-containere
Med kommandoen awk kan du vælge bestemte kolonner fra udgangsresultatet. Her vil vi udtrække den første kolonne, der indeholder container-id’erne. Vi kan bruge xargs til at videregive id’erne til kommandoen docker rmi og fjerne Docker-containerne.
docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmibashSådan stopper og fjerner du alle Docker-containere
Du kan stoppe og fjerne alle aktive og inaktive containere på dit system på én gang. Dette kan være nyttigt, hvis du ønsker at foretage en grundig oprydning i dit Docker-miljø.
Trin 1: Lav en liste over alle containere
Indtast følgende kommando for at se listen over containere:
docker ps -abashTrin 2: Stop containerne
Når du er klar, skal du videresende output til docker stop. Dette vil stoppe alle containere.
docker stop $(docker ps -a -q)bashTrin 3: Fjern Docker-containere
Når alle containere er blevet stoppet, kan du fjerne dem ved hjælp af kommandoen docker rm:
docker rm $(docker ps -a -q)bashI modsætning til almindelige Docker-containere er Docker-containervolumer mekanismer, der muliggør datalagring og -deling mellem containere og værtsystemet.
I vores digitale guide kan du finde andre Docker-vejledninger, herunder hvordan man fjerner et Docker-volume og hvordan man sletter et Docker-billede.