Slik bruker du Docker prune – veiledning med eksempler
Docker prune fjerner unødvendige elementer som stoppede containere, ubrukte volumer og gamle nettverk eller bilder. Dette bidrar til å optimalisere harddiskbruken og frigjør lagringsplass.
Hva er Docker prune?
Docker prune eller system prune er nyttig for å rydde opp i Docker-ressurser som ikke lenger er nødvendige, slik at du kan frigjøre minne. Hvis Docker-containere, -bilder, -nettverk og -volumer står ubrukt over lengre tid, kan de oppta betydelig diskplass. Med prune kan du raskt fjerne disse ubrukte ressursene, slik at systemet ditt holdes ryddig og yter optimalt.
Spesielt i utviklingsmiljøer, der nye containere ofte opprettes og testes, kan det samle seg opp et betydelig antall foreldede objekter. Docker prune fjerner effektivt ikke bare ubrukte containere og bilder, men også nettverk og volumer som ikke lenger er nødvendige. Dette effektiviserer administrasjonen av Docker-ressurser og minimerer risikoen for et rotete og overbelastet system.
Hva brukes Docker prune til?
Kommandoen prune egner seg til ulike situasjoner i det daglige arbeidet med Docker. Nedenfor har vi listet opp fire typiske bruksscenarier.
Optimaliser arbeidsprosesser: Docker-miljøer brukes ofte til utvikling, testing og produksjon. Uten regelmessig opprydding kan dette føre til en rask opphopning av unødvendige ressurser. En slik overbelastning øker ikke bare minneforbruket, men kan også påvirke systemytelsen negativt. Ved å fjerne ubrukte ressurser muliggjør Docker prune en mer effektiv utnyttelse av systemressursene. Dette er spesielt viktig i skybaserte miljøer, der kostnadene stiger i takt med etterspørselen etter lagrings- og databehandlingsressurser.
Økt sikkerhet: Overflødige og foreldede Docker-ressurser kan utgjøre en sikkerhetsrisiko. Docker prune fjerner ubrukte containere, bilder, nettverk og volumer, noe som reduserer risikoen for at foreldede og potensielt sårbare komponenter blir stående ubeskyttet. Ved å holde Docker-miljøet ryddig minimeres angrepsflaten og styrkes den generelle sikkerheten i IT-infrastrukturen din.
Økt ytelse: Et overbelastet Docker-miljø kan redusere systemytelsen ved å bruke unødvendige ressurser som CPU og minne. Regelmessig opprydding med Docker prune frigjør diskplass og forbedrer effektiviteten i containeradministrasjon og -kjøring. Dette gir betydelig kortere lastetider, raskere distribusjon av applikasjoner og bedre respons fra systemet generelt.
Enklere vedlikehold: Å kjøre Docker prune regelmessig forenkler vedlikeholdet av Docker-miljøet ditt betydelig. Ved å fjerne ubrukte ressurser reduseres kompleksiteten i administrasjonsoppgavene for utviklere. Dette gjør det enklere å holde oversikt over aktive og relevante Docker-komponenter, noe som gjør feilsøkingen raskere. Dermed sparer teamene tid på administrasjon og kan konsentrere seg mer om å utvikle og forbedre applikasjonene sine, i stedet for å måtte håndtere overflødige ressurser.
Hva er syntaksen for Docker prune?
Har du et Docker-miljø og ønsker å rydde opp i ressursene for å frigjøre diskplass og forenkle administrasjonen? I så fall kan du bare kjøre følgende kommando for å få tilgang til prune tjenester:
docker system prunebashSom standard identifiserer Docker stoppede containere, ubrukte bilder, nettverk og volumer som kan ryddes opp, og ber deg om bekreftelse før de fjernes. Bare skriv inn y og trykk Enter-tasten for å fortsette. Alternativt kan du bruke alternativet -f for å hoppe over bekreftelsen og kjøre oppryddingen umiddelbart:
docker system prune -fbashTips: Det er lurt å sjekke hvilke Docker-ressurser som for øyeblikket finnes på systemet før du tar i bruk D prune. Kjør følgende kommandoer for å få en liste over alle containere, bilder, nettverk og volumer:
docker ps -a
docker images
docker volume ls
docker network lsbashDocker prune -alternativer
Tabellen nedenfor gir deg en oversikt over de ulike alternativene i vers docker system prune.
| Alternativ | Beskrivelse |
|---|---|
--all, -a
|
Fjerner alle ubrukte Docker-ressurser. |
--force, -f
|
Utfører oppryddingen uten bekreftelse fra brukeren. |
--volumes
|
Fjerner ubrukte volumer. |
--filter, -f
|
Tillater filtrering av ressursene som skal fjernes i henhold til kriterier. |
--help
|
Viser hjelp om hvordan kommandoen brukes. |
Slik bruker du kommandoen Docker prune
Docker tilbyr ulike kommandoer som gjør det mulig å rydde opp i bestemte ressurstyper. Dette gir deg fleksibilitet til å bestemme nøyaktig hvilke ressurser som skal fjernes.
Docker prune --filter
Du kan bruke Filter til å styre hvilke ressurser som skal fjernes, for eksempel containere, bilder, nettverk og volumer. Dette er nyttig i utviklingsmiljøer hvor mange midlertidige ressurser kan opprettes og glemmes raskt.
Den generelle syntaksen er:
docker <command> prune --filter "filter=<value>"bashDe ulike filteralternativene omfatter:
until: Filtrerer ressurser basert på opprettelsesdato. Her kan<duration>være en numerisk verdi med en enhet, for eksempelh(timer),m(minutter) ellers(sekunder).
docker <command> prune --filter "until=<duration>"bashEksempel: Fjern alle stoppede containere som er eldre enn 24 timer
docker container prune --filter "until=24h"bashlabel: Filtrerer ressurser basert på deres Docker-etiketter
docker <command> prune --filter "label=<label>"bashEksempel: Fjern alle ubrukte volumer med etiketten mylabel
docker volume prune --filter "label=mylabel"bashdangling: Filtrerer ressurser som ikke lenger brukes av en container
docker <command> prune --filter "dangling=true"bashEksempel: Fjern alle bilder som ikke lenger brukes (løse bilder)*
docker image prune --filter "dangling=true"bashI tillegg til hovedfiltrene nevnt ovenfor finnes det også mer spesifikke filteralternativer avhengig av ressurstypen:
beforeogsincefor bilder: Filtrerer bilder basert på opprettelsesdato, enten før eller etter et bestemt tidspunktexitedfor containere: Filtrerer containere basert på avslutningsstatus (for eksempelexited=0for containere som er avsluttet med suksess)
Slik fjerner du Docker-ressurser
Trinn 1: Åpne en terminal eller kommandolinje på datamaskinen din.
Trinn 2: Kjør Docker prune for å rydde opp i systemet:
docker {resource} prunebashErstatt {resource} med typen ressurser du ønsker å rydde opp i. Gyldige verdier er container, image, volume og network.
Slik fjerner du Docker-containere
Som standard frigjør ikke Docker containere automatisk etter at de har fullført livssyklusen sin. Det er viktig å sjekke de stoppede containerne jevnlig og rydde opp i dem etter behov for å frigjøre opptatte ressurser til containere som er i drift. Det finnes to metoder for å gjøre dette.
docker rm: Kommandoendocker rmer ment for å fjerne én eller flere Docker-containere manuelt. Hvis du vet nøyaktig hvilke containere du vil slette, er dette den riktige metoden. Du må eksplisitt angi ID-ene eller navnene på containerne du ønsker å fjerne, slik at du kun sletter bestemte containere fra miljøet ditt uten å påvirke andre.
Her er et eksempel på hvordan du sletter containerne med navnene container1 og container2:
docker rm container1 container2bashdocker container prune: I motsetning til dette erdocker container pruneen kommando som har til formål å fjerne flere stoppede containere samtidig. Denne metoden egner seg spesielt godt til å frigjøre plass raskt og effektivt ved å slette alle stoppede containere som for øyeblikket ikke har noen aktive prosesser.
docker container prunebashAlle stoppede containere vises her, og Docker ber om bekreftelse før de fjernes. Dette er svært praktisk i miljøer hvor det opprettes mange midlertidige containere som senere blir overflødige.
For den daglige driften og vedlikeholdet av Docker-miljøet ditt anbefales det å bruke docker container prune regelmessig for automatisk å rydde opp i stoppede containere. Denne fremgangsmåten sparer tid og sikrer at unødvendige ressurser ikke påvirker systemytelsen. Derimot er docker rm ideelt for å slette bestemte containere på en målrettet og kontrollert måte, enten det er for testing, utvikling eller andre spesifikke behov.
Slik fjerner du Docker-bilder
Docker-bilder er byggesteinene i containere. De kan få mange forskjellige versjoner og tagger over tid. Når du oppretter eller oppdaterer nye bilder, sitter du ofte igjen med gamle eller ubrukte bilder, såkalte «dangling»-bilder. Disse tar opp diskplass på systemet ditt og kan påvirke ytelsen, spesielt hvis det er mange slike bilder.
Med Docker prune kan du identifisere og fjerne bilder som ikke lenger er i bruk:
docker image prune [Options]bashMulige alternativer her er for eksempel:
-a,--all: Dette alternativet fjerner ikke bare bilder uten tilknytning, men også ubrukte bilder. Ubrukte bilder er bilder som ikke lenger har tagger og derfor ikke kan refereres til direkte ved hjelp av tagger.
docker image prune -abash-f,--force: Som standard ber Docker om bekreftelse før bildene faktisk slettes. Med-feller--forcekan du hoppe over dette bekreftelsestrinnet og utføre oppryddingen umiddelbart.
docker image prune -fbashSlik fjerner du alle Docker-bilder
Du kan også raskt og grundig rydde opp i alle Docker-bilder på systemet ditt som ikke lenger er nødvendige. For å bruke Docker prune effektivt, må du først åpne terminalen eller kommandoprompten og skrive inn følgende kommando:
docker image prune -a --forcebashSørg for å sjekke hvilke bilder som vil bli slettet før du fortsetter med oppryddingen. Alternativ -a kan slette ubrukte bilder som du kanskje fortsatt trenger.
Slik fjerner du Docker-volumer
Volumer er permanente og beholder data selv når den tilknyttede containeren ikke lenger kjører. Over tid kan disse volumene vokse og bruke unødvendig mye ressurser.
docker volume prunebashDenne kommandoen søker etter alle volumer som ikke har noen aktive containere. Du vil få opp en liste over volumer som foreslås fjernet, og du må bekrefte før oppryddingen utføres.
Derimot er docker volume rm en kommando som spesifikt fjerner enkeltstående Docker-volumer. Dette kan være nyttig hvis du vet nøyaktig hvilket volum du vil slette, uavhengig av om det for øyeblikket er i bruk av en container. For å fjerne et bestemt Docker-volum, bruk kommandoen docker volume rm etterfulgt av volumets navn eller ID:
docker volume rm volume_namebashSørg igjen for at du vet navnet eller ID-en til volumet som skal slettes, da denne kommandoen sletter dataene permanent og ikke kan angres.
Slik fjerner du Docker-nettverk
I Docker er nettverk en grunnleggende komponent som gjør at containere kan kommunisere med hverandre, uansett om de befinner seg på samme vert eller er spredt over flere verter. Docker-nettverk forblir aktive selv etter at containere er avsluttet eller fjernet. Over tid kan dette føre til en opphopning av ubrukte nettverk som bruker ressurser unødvendig. Kommandoen docker prune network er en enkel måte å identifisere og fjerne disse ubrukte nettverkene på.
Kommandoen har følgende format:
docker network prune [OPTIONS]bashDocker genererer en liste over alle nettverk som ikke lenger brukes av aktive containere eller som det ikke lenger henvises til. Det blir deretter bedt om bekreftelse før nettverkene faktisk fjernes.
Beste praksis for Docker prune
- Automatisk opprydding: Bruk automatiserte skript eller verktøy til regelmessig å rydde opp i Docker-bilder, containere og volumer som ikke lenger er nødvendige. Dette holder miljøet ryddig og optimaliserer ytelsen.
- Sikkerhetsoppdateringer og oppdateringer: Sjekk regelmessig etter sikkerhetsoppdateringer og oppdateringer for Docker-motorer, vertsoperativsystemer og alle Docker-bilder. Å holde disse komponentene oppdatert bidrar til å minimere potensielle sikkerhetsrisikoer.
- Overvåking og loggføring: Bruk overvåkings- og loggføringsverktøy for å overvåke containerytelsen, oppdage uventede hendelser og fremme proaktivt vedlikehold.
- Ekstern sikkerhetskopiering: Etabler rutiner for ekstern sikkerhetskopiering av viktige data fra Docker-containere, for eksempel regelmessig sikkerhetskopiering av databaseinnhold eller konfigurasjonsfiler.
- Manuell sjekk før fjerning: Sjekk nøye om du ikke lenger trenger visse ressurser før du fjerner dem. Dette vil minimere risikoen for utilsiktet datatap eller avbrudd i kjørende prosesser.
Hvis du nettopp har begynt å bruke Docker, anbefaler vi at du leser vår omfattende veiledning om Docker.