Forudsætning: Docker
I Docker , hvis vi har forladt en container uden at stoppe den, skal vi stoppe dem manuelt, da den ikke er stoppet ved udgang. Tilsvarende skal vi for billeder slette dem fra top til bund, da nogle beholdere eller billeder kan være afhængige af basisbillederne, vi kan til enhver tid downloade basisbilledet på. Så det er en god idé at slette uønskede eller dinglende billeder fra den aktuelle maskine.
Hvordan sletter man billederne i Docker?
Fjern billede
For at slette billedet med ImageId/Name kan vi bruge følgende kommando. For at vide mere om, hvordan man bygger et docker-billede ved hjælp af Dockerfile, henvises til Concept of Dockerfile.
docker rmi>
Tving fjernelse af billede
For at tvinge fjernelse af docker-billederne med ImageID/navnet kan vi bruge følgende kommando.
docker rmi -f>
Bemærk: Vi kan ikke fjerne billederne med magt eller normalt, mens containeren kører.
Dingle billeder
Dinglebilleder er dem, der ikke er knyttet til hverken depotet eller tagget. Den anvendte kommando er at fjerne de dinglende billeder. For at vide mere om, hvordan man tagger Docker-billeder ved at henvise til Docker-billedmærker.
docker image prune>
Fjerner alle billeder
Vi kan fjerne alle billeder i docker-maskinen for at fjerne uønsket rod og plads i systemet. Vi kan alligevel hente den seneste version eller et specifikt versionsbillede fra docker-registret eller fra cachen.
docker rmi $(docker images -q)>

Sådan slettes containere i Docker
Før vi sletter containerne, skal vi først stoppe containeren, for det bruger vi kommandoen.
docker stop>
Forskellen mellem Docker Stop og Docker Kill
Docker stop sender først et SIGTERM-signal, før processen dræbes med et SIGKILL-signal og en henstandsperiode. Når Docker kill sender SIGKILL, afslutter det straks processen.
- Stop alle kørende containere: For at stoppe de beholdere, der ikke er kommet ud. Dette kan ske, når kommandoen, der bruges i Docker-billedet, efterlades kørende. Kommandoen skal afsluttes, og dette vil igen stoppe beholderen. For at stoppe containeren, når du ikke har forladt containeren ved at stoppe kommandoen, skal du køre følgende kommando.
docker stop $(docker ps -aq)>
- Slet beholderen: Hvis containeren er stoppet, kan vi bruge følgende kommando til at slette containeren.
docker rm>
- Tving sletning af containeren: Vi kan tvinge containerne til at fjerne, mens de kører, uden at stoppe dem ved at bruge nedenstående kommando.
docker rm -f>

Fjern alle beholdere
For at fjerne alle containere fra docker-maskinen skal vi hente id'erne for alle containerne. Vi kan simpelthen få id'erne for containerne med kommandoen docker ps -aq , så ved at bruge kommandoen docker rm, kan vi fjerne alle containerne i docker-maskinen.
docker rm $(docker ps -aq)>

Fjern alle stoppede beholdere
For at fjerne alle containere, som er stoppet/afsluttet, kan vi bruge filtre i ps-kommandoargumentet. Vi kan ikke direkte fjerne en container, hvis den ikke er stoppet. Vi kan stoppe containere, der ikke afsluttes eller kører ved at bruge -f-argumentet til ps-kommandoen i docker, -f eller -filter-indstillingen tager et filter ind som status=exited eller status=running eller name og så videre. Vi kan filtrere fra for at stoppe de specifikke containere i henhold til kravet.
docker rm $(docker ps -aq --filter status='exited')>
Efter at have filtreret containeren fra, som kører, kan vi bruge stop-kommandoen til at stoppe disse containere med -q for at dæmpe de numeriske id'er, der er knyttet til disse containere.
docker stop $(docker ps --filter status=running -q)>
Dette vil stoppe alle containerne og dermed kan vi nu fjerne containerne fra docker-maskinen. Vi kan endda filtrere de containere, der er stoppet her, for kun at fjerne dem, hvis status er afsluttet.
docker rm $(docker ps --filter status=exited -q)>

- Kommandoen nedenfor fjernede alle de containere, der er i den eksisterende tilstand. Det betyder, at containerne stoppede.
docker container prune>
