Sådan fjernes dockerbilleder, containere og volumener


Docker er en open source, kraftfuld, sikker, pålidelig og effektiv containerplatform, der muliggør realistisk uafhængighed mellem applikationer og infrastruktur. Det bliver bredt vedtaget af it- og skyvirksomheder derude for let at oprette, implementere og køre applikationer.

En container er en teknologi til visualisering af operativsystemer, der gør det muligt at pakke et program med alt, hvad der er nødvendigt for at køre det, så det kan køre uafhængigt af operativsystemet. Et containerbillede er en selvstændig, eksekverbar pakke med et program, der indeholder alt, hvad der er nødvendigt for at køre det: kode, runtime, systemværktøjer og biblioteker samt konfigurationer.

Vi har allerede dækket en serie om Docker, der forklarer, hvordan du installerer Docker, kører applikationer i containere og automatisk bygger dockerbilleder med dockerfil.

  1. Installer Docker og Learn Basic Container Manipulation i CentOS og RHEL 7/6
  2. Sådan distribueres og køres applikationer i Docker-containere på CentOS/RHEL 7/6
  3. Byg og konfigurer automatisk Docker-billeder automatisk med Dockerfile på CentOS/RHEL 7/6
  4. Sådan opsættes en simpel Apache-webserver i en Docker-container

I denne artikel vil vi forklare, hvordan du fjerner dockerbilleder, containere og diskenheder via docker-kommandolinjeværktøjet i Linux-systemer.

Sådan fjernes Docker-billeder

Inden du fjerner dockerbilleder, kan du liste alle eksisterende billeder på dit system med kommandoen image management.

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

Når man ser på output i det følgende skærmbillede, har vi nogle billeder uden et tag (viser i stedet), disse kaldes "dinglende billeder". De har ikke længere noget forhold til taggede billeder; de er ikke nyttige mere og bruger kun diskplads.

Du kan f.eks. Fjerne et eller flere gamle eller ubrugte Docker-billeder ved hjælp af billed-id'et (hvor d65c4d6a3580 er billed-id'et).

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

Du kan angive hængende billeder (umærkede billeder) ved hjælp af filteret -f som vist.

$ docker images -f dangling=true	

Brug en af disse kommandoer for at fjerne alle dinglende billeder, så du kan genvinde spildt diskplads.

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

For at fjerne alt, der ikke er knyttet til nogen container, skal du bruge følgende kommando.

$ docker image prune -a 	

Sådan fjernes Docker-containere

Du kan starte med at liste alle dockercontainere på dit system ved hjælp af følgende kommando.

$ docker ps
OR
$ docker ps -a  

Når du har identificeret den eller de containere, du vil slette, kan du f.eks. Fjerne dem ved hjælp af deres id.

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

Hvis en container kø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 container, mens den kører, ved at tilføje --force eller -f flag, dette vil sende den et SIGKILL signal som vist.

$ docker rm -f 0fd99ee0cb61

Du kan også fjerne containere ved hjælp af filtre. Brug f.eks. Denne kommando for at fjerne alle afladte containere.

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

Brug følgende kommandoer for at stoppe og fjerne alle containere.

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

Sådan fjernes Docker Volumes

Som før skal du begynde med at liste alle dockervolumener på dit system med lydstyringskommandoen som vist.

$ docker volume ls

For at fjerne et eller flere diskenheder skal du bruge følgende kommando (bemærk, at du ikke kan fjerne en diskenhed, der bruges af en container).

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

Brug -f -flagget til at tvinge fjernelsen af et eller flere diskenheder.

$ docker volume rm -f volume_ID

Brug følgende kommando for at fjerne dinglende volumener.

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

For at fjerne alle ubrugte lokale diskenheder skal du køre følgende kommando. Dette fjerner volumener interaktivt.

$ docker volume prune	

Sådan fjernes ubrugte eller dinglende billeder, containere, diskenheder og netværk

Du kan slette alle dinglende og ikke-refererede data såsom containere stoppet, billeder uden containere med denne enkelt kommando. Som standard fjernes ikke volumener for at forhindre, at vitale data slettes, hvis der i øjeblikket ikke er nogen container, der bruger diskenheden.

$ docker system prune

For at beskære lydstyrker skal du blot tilføje flag --volumes til nedenstående kommando som vist.

$ docker system prune --volumes

Bemærk: For at køre docker-kommandolinjeværktøjet uden sudo-kommandoen skal du f.eks. Tilføje en bruger til docker-gruppen.

$ sudo usermod -a -G docker aaronkilik

For mere information, se hjælpesiden for ovenstående kommandoer til docker-objektstyring.

$ docker help
$ docker image help   
$ docker container help   
$ docker volume help   

Det er alt for nu! I denne artikel har vi forklaret, hvordan man fjerner dockerbilleder, containere og diskenheder via docker-kommandolinjeværktøjet. Hvis du har spørgsmål eller tanker at dele, så brug feedbackformularen nedenfor for at nå os.