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 prune
bash

Som 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 -f
bash

Tips: 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 ls
bash

Docker 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>"
bash

De ulike filteralternativene omfatter:

  • until: Filtrerer ressurser basert på opprettelsesdato. Her kan <duration> være en numerisk verdi med en enhet, for eksempel h (timer), m (minutter) eller s (sekunder).
docker <command> prune --filter "until=<duration>"
bash

Eksempel: Fjern alle stoppede containere som er eldre enn 24 timer

docker container prune --filter "until=24h"
bash
  • label: Filtrerer ressurser basert på deres Docker-etiketter
docker <command> prune --filter "label=<label>"
bash

Eksempel: Fjern alle ubrukte volumer med etiketten mylabel

docker volume prune --filter "label=mylabel"
bash
  • dangling: Filtrerer ressurser som ikke lenger brukes av en container
docker <command> prune --filter "dangling=true"
bash

Eksempel: Fjern alle bilder som ikke lenger brukes (løse bilder)*

docker image prune --filter "dangling=true"
bash

I tillegg til hovedfiltrene nevnt ovenfor finnes det også mer spesifikke filteralternativer avhengig av ressurstypen:

  • before og since for bilder: Filtrerer bilder basert på opprettelsesdato, enten før eller etter et bestemt tidspunkt
  • exited for containere: Filtrerer containere basert på avslutningsstatus (for eksempel exited=0 for 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} prune
bash

Erstatt {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: Kommandoen docker rm er 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 container2
bash
  • docker container prune: I motsetning til dette er docker container prune en 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 prune
bash

Alle 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]
bash

Mulige 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 -a
bash
  • -f, --force: Som standard ber Docker om bekreftelse før bildene faktisk slettes. Med -f eller --force kan du hoppe over dette bekreftelsestrinnet og utføre oppryddingen umiddelbart.
docker image prune -f
bash

Slik 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 --force
bash

Sø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 prune
bash

Denne 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_name
bash

Sø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]
bash

Docker 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.
Tip

Hvis du nettopp har begynt å bruke Docker, anbefaler vi at du leser vår omfattende veiledning om Docker.

Go to Main Menu