Hvordan fjerne Docker-bilder, containere og volumer


Docker er en åpen kildekode, kraftig, sikker, pålitelig og effektiv containerplattform som muliggjør realistisk uavhengighet mellom applikasjoner og infrastruktur. Det blir bredt tatt i bruk av IT- og skyselskaper der ute, for enkelt å lage, distribuere og kjøre applikasjoner.

En container er en teknologi for å visualisere operativsystemer, som gjør at en applikasjon kan pakkes med alt som trengs for å kjøre den, slik at den kan kjøres uavhengig av operativsystemet. Et beholderbilde er en selvstendig, kjørbar pakke av et program som inkluderer alt som trengs for å kjøre det: kode, kjøretid, systemverktøy og biblioteker, samt konfigurasjoner.

Vi har allerede dekket en serie om Docker, som forklarer hvordan du installerer Docker, kjører applikasjoner inn i containere og automatisk bygger docker-bilder med dockerfile.

  1. Installer Docker og lær grunnleggende containermanipulasjon i CentOS og RHEL 7/6
  2. Hvordan distribuere og kjøre applikasjoner i Docker-beholdere på CentOS/RHEL 7/6
  3. Bygg og konfigurer Docker-bilder automatisk med Dockerfile på CentOS/RHEL 7/6
  4. Hvordan sette opp en enkel Apache-webserver i en docker-beholder

I denne artikkelen vil vi forklare hvordan du fjerner docker-bilder, containere og volumer via docker-kommandolinjeverktøyet i Linux-systemer.

Slik fjerner du Docker-bilder

Før du fjerner noen docker-bilder, kan du liste alle eksisterende bilder på systemet med bildebehandlingskommandoen.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Ser vi på utdataene i skjermbildet som følger, har vi noen bilder uten en tag (som viser i stedet), disse blir referert til som "dinglende bilder ". De har ikke lenger noe forhold til noen merkede bilder; de er ikke nyttige lenger og bruker bare diskplass.

Du kan fjerne ett eller flere gamle eller ubrukte Docker-bilder ved å bruke bildet ID, for eksempel (der d65c4d6a3580 er bilde-IDen).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Du kan liste opp dinglende bilder (umerkede bilder) ved å bruke -f filterflagget som vist.

docker images -f dangling=true	

For å fjerne alle hengende bilder, slik at du kan gjenvinne bortkastet diskplass, bruk en av disse kommandoene.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

For å fjerne alt som ikke er knyttet til noen beholder, bruk følgende kommando.

docker image prune -a 	

Slik fjerner du Docker-beholdere

Du kan starte med å liste opp alle docker-containere på systemet ditt ved å bruke følgende kommando.

docker ps
OR
docker ps -a  

Når du har identifisert beholderen(e) du vil slette, kan du fjerne dem ved å bruke deres ID, for eksempel.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Hvis en beholder kjører, kan du først stoppe den og fjerne den som vist.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Du kan også tvinge-fjerne en beholder mens den kjører ved å legge til --force- eller -f-flagget, dette vil sende den en < sterkt>SIGKILL-signal som vist.

docker rm -f 0fd99ee0cb61

Du kan også fjerne beholdere ved hjelp av filtre. For eksempel for å fjerne alle avsluttede beholdere, bruk denne kommandoen.

docker rm $(docker ps -qa --filter "status=exited")

For å stoppe og fjerne alle beholdere, bruk følgende kommandoer.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Slik fjerner du Docker-volumer

Som før, begynn med å liste opp alle docker-volumer på systemet med volumstyringskommandoen som vist.

docker volume ls

For å fjerne ett eller flere volumer, bruk følgende kommando (merk at du ikke kan fjerne et volum som er i bruk av en beholder).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Bruk -f-flagget for å tvinge fram fjerning av ett eller flere bind.

docker volume rm -f volume_ID

For å fjerne dinglende volumer, bruk følgende kommando.

docker volume rm $(docker volume ls  -q --filter dangling=true)

For å fjerne alle ubrukte lokale volumer, kjør følgende kommando. Dette vil fjerne volumer interaktivt.

docker volume prune	

Slik fjerner du ubrukte eller hengende bilder, beholdere, volumer og nettverk

Du kan slette alle hengende og ikke-refererte data, for eksempel stoppede beholdere, bilder uten beholdere, med denne enkle kommandoen. Som standard fjernes ikke volumer, for å forhindre at vitale data slettes hvis det for øyeblikket ikke er noen beholder som bruker volumet.

docker system prune

For å beskjære volumer, legg til --volumes-flagget til kommandoen nedenfor som vist.

docker system prune --volumes

Merk: For å kjøre kommandolinjeverktøyet for docker uten sudo-kommandoen, må du for eksempel legge til en bruker i docker-gruppen.

sudo usermod -a -G docker aaronkilik

For mer informasjon, se hjelpesiden for kommandoene ovenfor for docker-objektadministrasjon.

docker help
docker image help   
docker container help   
docker volume help   

Det er alt for nå! I denne artikkelen har vi forklart hvordan du fjerner docker-bilder, containere og volumer via docker-kommandolinjeverktøyet. Hvis du har spørsmål eller tanker å dele, bruk tilbakemeldingsskjemaet nedenfor for å nå oss.