Hvis du har brug for en omfattende open source containerplatform til at skabe uafhængighed mellem apps og infrastruktur, er Docker din sikreste indsats. Hvis du har haft chancen for at bruge den, ved du allerede, hvor dygtig og let at bruge den er
Et stort antal sky- og it-virksomheder synes det er yderst nyttigt, og dets popularitet er bestemt fortjent.
Alligevel gør dette det ikke perfekt. Beviset kan ses i de begrænsninger, der følger med at fjerne billeder, volumener, containere og netværk. Selvom disse kommandoer er tilgængelige, er de ikke så omfattende, som brugerne måske ønsker, at de skal være.
Her ser du de største problemer, som brugerne støder på, samt løsningen på dem. Du lærer, hvordan du fjerner billeder og containere på en nem måde.
Problemet
Containerteknologi giver en måde at visualisere operativsystemer på. Det giver mulighed for, at en app kan pakkes med alt det, der kræves for at køre den, hvilket gør det muligt for den at handle uafhængigt af operativsystemet.
Containerbilleder er selvstændige eksekverbare app-pakker, der indeholder alt, hvad der er nødvendigt for, at en app fungerer korrekt. Kørsel, kode, konfigurationer og systemværktøjer og biblioteker findes i hvert billede.
Når du bruger Docker, akkumuleres disse billeder. Over tid akkumuleres et stort antal ubrugte billeder, datamængder og containere, hvilket skaber et overfyldt Docker-miljø. Når dette sker, er det nødvendigt at opdatere miljøet, så platformen fungerer som den skal.
Der er flere kommandoer, der kan få dette til at ske, så lad os se på de vigtigste måder til at fjerne dit Docker-miljø.
Fjernelse af Docker-billeder
Inden du kan fjerne de unødvendige billeder, skal du skelne dem fra de nyttige billeder. Dette kan gøres let ved at liste alle de billeder, dit system indeholder ved hjælp af kommandoen til billedhåndtering.
Sådan ser det ud:
$ docker image #list the most recently created images
Eller
$ docker image -a #list all images
Med den anden kommando ser du alle dine docker-billeder. Alt hvad du skal gøre er at finde de såkaldte 'dinglende billeder'. Dette er alle Docker-billeder, der ikke indeholder et mærke. Uden mærket er der ingen forbindelse med de mærkede billeder, hvilket betyder, at de ikke er nyttige mere.
Du kan slette et eller flere billeder ved hjælp af Image ID. For at gøre dette skal du bruge en af disse kommandoer:
$ docker rmi d65c4d6a3580 #remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
En mere bekvem løsning er at bruge -f filterflagget til at liste alle dinglende billeder.
For at slette disse billeder og rydde op i diskplads skal du bruge en af følgende kommandoer:
$ docker image prune #interactively remove dangling images
Eller
$ docker rmi $(docker images -q -f dangling=true)
Du kan fjerne alle Docker-billeder på en lignende måde. Vis dem ved hjælp af $ docker-billeder - en kommando, fjern dem derefter ved hjælp af følgende:
$ (docker rmi $(docker images -a -q)
En anden mulighed er at slette de billeder, der følger et bestemt mønster. Brug følgende kommando til at liste dem:
$ docker images -a | grep "pattern"
Fjern dem derefter ved hjælp af:
$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Fjernelse af containere
En anden ting, du måske ønsker at gøre, når du har arbejdet med Docker i en bestemt periode, er at slette en eller flere containere.
I lighed med billedfjernelse skal du først liste dem ved hjælp af følgende kommando:
$ docker ps
Eller
$ docker ps -a
Når du finder de containere, du vil fjerne, skal du bruge deres ID til at gøre det.
$ docker rm 0fd99ee0cb61 #remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
I tilfælde af, at containeren, du prøver at fjerne, kører, kan du bruge følgende kommando til at stoppe den:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Til sidst kan du stoppe og fjerne alle unødvendige containere ved hjælp af følgende kommandoer:
$ docker stop $(docker ps -a -q) #stop all containers
$ docker container prune #interactively remove all stopped containers
Eller
$ docker rm $(docker ps -qa)
Dette giver dig mulighed for at frigøre værdifuld diskplads og starte ny.
Det sidste ord
Som du kan se, er det ikke så skræmmende at fjerne Docker-billeder og containere. Nu hvor du kender disse kommandoer, kan du have mere kontrol over din Docker-oplevelse.
Naturligvis er dette kun nogle af kommandoerne, og du kan bruge en række andre kombinationer. Disse vil alligevel gøre jobbet helt fint, så prøv det godt.
