Sådan bruger du Docker prune – vejledning med eksempler
Docker prune fjerner unødvendige elementer såsom stoppede containere, ubrugte volumener og gamle netværk eller billeder. Dette bidrager til at optimere harddiskforbruget og frigør lagerplads.
Hvad er Docker prune?
Docker prune eller system prune er nyttigt til systematisk at rydde op i Docker-ressourcer, der ikke længere er nødvendige, hvilket hjælper dig med at frigøre hukommelse. Hvis Docker-containere, -billeder, -netværk og -volumener står ubrugte hen i længere tid, kan de optage en betydelig mængde diskplads. Med prune kan du hurtigt fjerne disse ubrugte ressourcer, så dit system forbliver rent og fungerer optimalt.
Især i udviklingsmiljøer, hvor der ofte oprettes og testes nye containere, kan der samle sig et betydeligt antal forældede objekter. Docker prune fjerner effektivt ikke blot ubrugte containere og billeder, men også netværk og volumener, der ikke længere er nødvendige. Dette strømliner administrationen af Docker-ressourcer og minimerer risikoen for et rodet og overbelastet system.
Hvad bruges Docker prune til?
Kommandoen prune er velegnet til forskellige situationer i det daglige arbejde med Docker. Nedenfor har vi opstillet fire typiske anvendelsesscenarier.
Optimering af arbejdsprocesser: Docker-miljøer anvendes ofte til udvikling, test og produktion. Uden regelmæssig oprydning kan dette føre til en hurtig ophobning af unødvendige ressourcer. En sådan overbelastning øger ikke blot hukommelsesforbruget, men kan også påvirke systemets ydeevne negativt. Ved at fjerne ubrugte ressourcer muliggør Docker prune en mere effektiv udnyttelse af systemressourcerne. Dette er især vigtigt i cloud-baserede miljøer, hvor omkostningerne stiger i takt med efterspørgslen efter lager- og computerressourcer.
Øget sikkerhed: Overflødige og forældede Docker-ressourcer kan udgøre en sikkerhedsrisiko. Docker prune fjerner ubrugte containere, billeder, netværk og volumener, hvilket mindsker risikoen for, at forældede og potentielt sårbare komponenter står ubeskyttet tilbage. Ved at holde Docker-miljøet rent minimeres angrebsfladen, og den samlede sikkerhed i din IT-infrastruktur styrkes.
Forbedret ydeevne: Et overbelastet Docker-miljø kan hæmme systemets ydeevne ved at forbruge unødvendige ressourcer som CPU og hukommelse. Regelmæssig oprydning med Docker prune frigør diskplads og øger effektiviteten i containerhåndtering og -kørsel. Dette resulterer i markant kortere indlæsningstider, hurtigere implementering af applikationer og forbedret samlet systemrespons.
Forenklet vedligeholdelse: Regelmæssig kørsel af Docker prune forenkler vedligeholdelsen af dit Docker-miljø betydeligt. Ved at fjerne ubrugte ressourcer mindskes kompleksiteten i administrationsopgaverne for udviklerne. Det gør det nemmere at holde styr på aktive og relevante Docker-komponenter, hvilket fremskynder fejlfinding. Dermed sparer teams tid på administration og kan i stedet fokusere mere på at udvikle og forbedre deres applikationer frem for at beskæftige sig med overflødige ressourcer.
Hvordan ser syntaksen for Docker prune ud?
Har du et Docker-miljø og ønsker du at rydde op i ressourcerne for at frigøre diskplads og forenkle administrationen? I så fald skal du blot køre følgende kommando for at få adgang til prune tjenester:
docker system prunebashSom standard identificerer Docker stoppede containere, ubrugte billeder, netværk og volumener, der kan ryddes op, og beder dig om bekræftelse, før de fjernes. Du skal blot skrive y og trykke på Enter-tasten for at fortsætte. Du kan også bruge indstillingen -f til at springe bekræftelsen over og køre oprydningen med det samme:
docker system prune -fbashTip: Det kan være en god idé at tjekke, hvilke Docker-ressourcer der i øjeblikket findes på systemet, inden du tager Docker prune i brug. Udfør følgende kommandoer for at få en liste over alle containere, billeder, netværk og volumener:
docker ps -a
docker images
docker volume ls
docker network lsbashDocker prune -indstillinger
Nedenstående tabel giver et overblik over de forskellige muligheder i docker system prune.
| Valgmulighed | Beskrivelse |
|---|---|
--all, -a
|
Fjerner alle ubrugte Docker-ressourcer. |
--force, -f
|
Udfører oprydningen uden brugerbekræftelse. |
--volumes
|
Fjerner ubrugte volumener. |
--filter, -f
|
Giver mulighed for at filtrere de ressourcer, der skal fjernes, efter bestemte kriterier. |
--help
|
Viser hjælp til, hvordan kommandoen bruges. |
Sådan bruger du kommandoen Docker prune
Docker tilbyder en række kommandoer, der gør det muligt at rydde op i bestemte typer ressourcer. Det giver dig fleksibilitet til præcist at bestemme, hvilke ressourcer der skal fjernes.
Docker prune --filter
Du kan bruge filteret til at styre udvælgelsen af de ressourcer, der skal fjernes, f.eks. containere, billeder, netværk og diskenheder. Dette er en fordel i udviklingsmiljøer, hvor der hurtigt kan oprettes mange midlertidige ressourcer, som man glemmer.
Den generelle syntaks er:
docker <command> prune --filter "filter=<value>"bashDe forskellige filtermuligheder omfatter:
until: Filtrerer ressourcer ud fra deres oprettelsesdato. Her kan<duration>være et tal med en enhed, f.eks.h(timer),m(minutter) ellers(sekunder).
docker <command> prune --filter "until=<duration>"bashEksempel: Fjern alle stoppede containere, der er ældre end 24 timer
docker container prune --filter "until=24h"bashlabel: Filtrerer ressourcer ud fra deres Docker-mærker
docker <command> prune --filter "label=<label>"bashEksempel: Ryd alle ubrugte volumener med mærket mylabel
docker volume prune --filter "label=mylabel"bashdangling: Filtrerer ressourcer, der ikke længere bruges af en container
docker <command> prune --filter "dangling=true"bashEksempel: Fjern alle billeder, der ikke længere bruges (løse billeder)*
docker image prune --filter "dangling=true"bashUd over de ovenfor nævnte hovedfiltre findes der også mere specifikke filtreringsmuligheder afhængigt af ressourcetypen:
beforeogsincefor billeder: Filtrerer billeder ud fra deres oprettelsesdato, enten før eller siden et bestemt tidspunktexitedfor containere: Filtrerer containere baseret på deres afslutningsstatus (for eksempelexited=0for containere, der er afsluttet med succes)
Sådan fjerner du Docker-ressourcer
Trin 1: Åbn en terminal eller kommandolinje på din computer.
Trin 2: Kør Docker prune for at rydde op i systemet:
docker {resource} prunebashErstat {resource} med den type ressourcer, du vil rydde op i. Gyldige værdier er container, image, volume og network.
Sådan fjerner du Docker-containere
Som standard frigiver Docker ikke automatisk containere, når de har afsluttet deres livscyklus. Det er vigtigt regelmæssigt at kontrollere de stoppede containere og rydde op i dem efter behov for at frigøre blokerede ressourcer til kørende containere. Der findes to metoder til at gøre dette.
docker rm: Kommandoendocker rmer beregnet til manuelt at fjerne en eller flere Docker-containere. Hvis du ved præcis, hvilke containere du vil slette, er dette den rette metode. Du skal udtrykkeligt angive ID’erne eller navnene på de containere, du ønsker at fjerne, hvilket giver dig mulighed for kun at slette bestemte containere fra dit miljø uden at påvirke andre.
Her er et eksempel på, hvordan man sletter containerne med navnene container1 og container2:
docker rm container1 container2bashdocker container prune: I modsætning hertil erdocker container pruneen kommando, der har til formål at fjerne flere stoppede containere på én gang. Denne metode er særligt velegnet til hurtigt og effektivt at frigøre plads ved at slette alle stoppede containere, der i øjeblikket ikke har nogen kørende processer.
docker container prunebashAlle stoppede containere vises her, og Docker beder dig om at bekræfte, før de fjernes. Dette er meget praktisk i miljøer, hvor der oprettes mange midlertidige containere, som senere bliver overflødige.
Til den daglige administration og vedligeholdelse af dit Docker-miljø anbefales det at bruge docker container prune regelmæssigt til automatisk at rydde op i stoppede containere. Denne fremgangsmåde sparer tid og sikrer, at unødvendige ressourcer ikke påvirker systemets ydeevne. Derimod er docker rm ideel til at slette bestemte containere på en målrettet og kontrolleret måde, hvad enten det er til test, udvikling eller andre specifikke behov.
Sådan fjerner du Docker-billeder
Docker-billeder er byggestenene i containere. De kan få mange forskellige versioner og tags over tid. Når du opretter eller opdaterer nye billeder, ender du ofte med gamle eller ubrugte billeder, der kaldes »dangling«. Disse optager diskplads på dit system og kan påvirke ydeevnen, især hvis der er mange af sådanne billeder.
Med Docker prune kan du finde og fjerne billeder, der ikke længere bruges:
docker image prune [Options]bashMulige valgmuligheder her er for eksempel:
-a,--all: Denne indstilling fjerner ikke kun billeder uden tilknyttede tags, men også ubrugte billeder. Ubrugte billeder er billeder, der ikke længere har nogen tags og derfor ikke kan henvises til direkte via tags.
docker image prune -abash-f,--force: Som standard beder Docker om bekræftelse, før billederne rent faktisk slettes. Med-feller--forcekan du springe dette bekræftelsestrin over og udføre oprydningen med det samme.
docker image prune -fbashSådan fjerner du alle Docker-billeder
Du kan også hurtigt og grundigt rydde op i alle Docker-billeder på dit system, som ikke længere er nødvendige. For at bruge Docker prune effektivt skal du først åbne terminalen eller kommandoprompten og indtaste følgende kommando:
docker image prune -a --forcebashSørg for at tjekke, hvilke billeder der vil blive slettet, inden du går i gang med oprydningen. Indstillingen -a kan slette ubrugte billeder, som du måske stadig har brug for.
Sådan fjerner du Docker-volumener
Volumener er permanente og bevarer data, selv når den tilknyttede container ikke længere kører. Over tid kan disse volumener vokse og forbruge unødvendige ressourcer.
docker volume prunebashDenne kommando søger efter alle volumener, der ikke har nogen aktive containere. Du får vist en liste over volumener, der foreslås fjernet, og du skal bekræfte, før oprydningen udføres.
Derimod er docker volume rm en kommando, der specifikt fjerner enkelte Docker-volumener. Dette kan være nyttigt, hvis du ved præcis, hvilket volumen du vil slette, uanset om det i øjeblikket bruges af en container. For at fjerne et bestemt Docker-volumen skal du bruge kommandoen docker volume rm efterfulgt af volumenets navn eller ID:
docker volume rm volume_namebashSørg igen for, at du kender navnet eller ID’et på det drev, der skal slettes, da denne kommando sletter dataene permanent og ikke kan fortrydes.
Sådan fjerner du Docker-netværk
I Docker er netværk en grundlæggende komponent, der gør det muligt for containere at kommunikere med hinanden, uanset om de befinder sig på samme vært eller er spredt over flere værter. Docker-netværk forbliver aktive, selv efter at containere er blevet lukket ned eller fjernet. Over tid kan dette føre til en ophobning af ubrugte netværk, der unødigt bruger ressourcer. Kommandoen docker prune network er en nem måde at identificere og fjerne disse ubrugte netværk på.
Kommandoen har følgende format:
docker network prune [OPTIONS]bashDocker genererer en liste over alle netværk, der ikke længere bruges af aktive containere eller ikke længere henvises til. Der anmodes derefter om bekræftelse, før netværkene rent faktisk fjernes.
Gode råd til Docker prune
- Automatisk oprydning: Brug automatiserede scripts eller værktøjer til regelmæssigt at rydde op i Docker-billeder, containere og volumener, der ikke længere er nødvendige. Dette holder miljøet rent og optimerer ydeevnen.
- Sikkerhedsrettelser og opdateringer: Tjek regelmæssigt for sikkerhedsopdateringer og rettelser til Docker-motorer, værtsoperativsystemer og alle Docker-billeder. At holde disse komponenter opdaterede hjælper med at minimere potentielle sikkerhedsrisici.
- Overvågning og logning: Brug overvågnings- og logningsværktøjer til at overvåge containerens ydeevne, opdage uventede hændelser og fremme proaktiv vedligeholdelse.
- Ekstern backup: Etabler rutiner for eksterne backups af vigtige data fra Docker-containere, f.eks. regelmæssig backup af databaseindhold eller konfigurationsfiler.
- Manuel kontrol før fjernelse: Kontroller omhyggeligt, om du ikke længere har brug for bestemte ressourcer, før du fjerner dem. Dette minimerer risikoen for utilsigtet datatab eller afbrydelser i kørende processer.
Hvis du lige er begyndt at bruge Docker, anbefaler vi, at du læser vores omfattende Docker-vejledning.