Forutsetning: Docker
I Docker , hvis vi har gått ut av en container uten å stoppe den, må vi stoppe dem manuelt siden den ikke har stoppet ved utgang. På samme måte, for bilder, må vi slette dem fra topp til bunn, da noen beholdere eller bilder kan være avhengige av basisbildene, vi kan når som helst laste ned basisbildet på. Så det er en god idé å slette uønskede eller hengende bilder fra den gjeldende maskinen.
Hvordan sletter jeg bildene i Docker?
Fjern bilde
For å slette bildet med ImageId/Name kan vi bruke følgende kommando. For å vite mer om hvordan du bygger et docker-bilde ved hjelp av Dockerfile, se Concept of Dockerfile.
docker rmi>
Tving fjerning av bilde
For å tvinge fjerning av docker-bilder med ImageID/navn kan vi bruke følgende kommando.
docker rmi -f>
Merk: Vi kan ikke fjerne bildene med makt eller normalt mens beholderen kjører.
Dingler bilder
Dinglebilder er de som ikke tilordnes verken depotet eller taggen. Kommandoen som brukes er å fjerne de dinglende bildene. For å vite mer om hvordan du merker Docker-bilder ved å referere til Docker-bildekoder.
docker image prune>
Fjerner alle bilder
Vi kan fjerne alle bilder i docker-maskinen for å fjerne uønsket rot og plass i systemet. Vi kan uansett hente den nyeste versjonen eller et spesifikt versjonsbilde fra docker-registeret eller fra cachen.
docker rmi $(docker images -q)>

Slik sletter du containere i Docker
Før vi sletter beholderne, må vi stoppe beholderen først for det bruker vi kommandoen.
docker stop>
Forskjellen mellom Docker Stop og Docker Kill
Docker stop vil først sende et SIGTERM-signal før den dreper prosessen med et SIGKILL-signal og en frist. Når Docker kill sender SIGKILL, avsluttes prosessen umiddelbart.
- Stopp alle kjørende beholdere: For å stoppe beholderne som ikke har kommet ut. Dette kan skje når kommandoen som brukes i Docker-bildet kjøres igjen. Kommandoen skal avsluttes, og dette vil igjen stoppe beholderen. For å stoppe beholderen når du ikke har gått ut av beholderen ved å stoppe kommandoen, må du kjøre følgende kommando.
docker stop $(docker ps -aq)>
- Slett beholderen: Hvis beholderen er stoppet, kan vi bruke følgende kommando for å slette beholderen.
docker rm>
- Tving sletting av beholderen: Vi kan tvinge fjerning av beholderne mens de kjører uten å stoppe dem ved å bruke kommandoen nedenfor.
docker rm -f>

Fjern alle beholdere
For å fjerne alle containere fra docker-maskinen, må vi få ID-ene til alle containerne. Vi kan ganske enkelt få IDene til containerne med kommandoen docker ps -aq , så ved å bruke docker rm-kommandoen, kan vi fjerne alle beholderne i docker-maskinen.
docker rm $(docker ps -aq)>

Fjern alle stoppede beholdere
For å fjerne alle beholdere som er stoppet/avsluttet, kan vi bruke filtre i ps kommando-argumentet. Vi kan ikke fjerne en beholder direkte hvis den ikke er stoppet. Vi kan stoppe beholdere som ikke avsluttes eller kjører ved å bruke -f-argumentet til ps-kommandoen i docker, alternativet -f eller -filter tar inn et filter som status=avsluttet eller status=løper eller navn og så videre. Vi kan filtrere ut for å stoppe de spesifikke beholderne i henhold til kravet.
docker rm $(docker ps -aq --filter status='exited')>
Etter å ha filtrert ut beholderen som kjører, kan vi bruke stopp-kommandoen til å stoppe disse beholderne med -q for å dempe de numeriske IDene som er knyttet til disse beholderne.
docker stop $(docker ps --filter status=running -q)>
Dette vil stoppe alle containerne og dermed kan vi nå fjerne containerne fra docker-maskinen. Vi kan til og med filtrere beholderne som er stoppet her for å fjerne bare de som har avsluttet status.
docker rm $(docker ps --filter status=exited -q)>

- Kommandoen nedenfor fjernet alle beholderne som er i den eksisterende tilstanden. Det betyr at containerne stoppet.
docker container prune>
