Hvordan fjerne gamle Docker-containere
Dette spørsmålet er relatert til https://stackoverflow.com/questions/17014263/should-i-be-concerned-about-excess-non-running-docker-containers.
Jeg lurer på hvordan jeg fjerner gamle containere. Med docker rm 3e552code34a
kan du fjerne en enkelt, men jeg har mange allerede. docker rm --help
gir ikke et valgalternativ (som alle, eller etter bilde navn).
Kanskje det er en katalog der disse beholderne er lagret der jeg enkelt kan slette dem manuelt?
1159
3
Siden Docker 1.13.x kan du bruke Docker container prune:
Dette vil fjerne alle stoppede containere og bør fungere på alle plattformer på samme måte.
Det finnes også en Docker system prune:
som vil rydde opp i alle ubrukte containere, nettverk, bilder (både dinglende og ikke-refererte), og eventuelt volumer, i en kommando.
For eldre Docker-versjoner kan du koble Docker-kommandoer sammen med andre Unix-kommandoer for å få det du trenger. Her er et eksempel på hvordan du rydder opp i gamle containere som er flere uker gamle:
For å gi kreditt, der det skyldes, er dette eksemplet fra https://twitter.com/jpetazzo/status/347431091415703552.
En annen metode, som jeg fikk fra Guillaume J. Charmes (æren er hans):
vil fjerne alle beholdere på en elegant måte.
Og av Bartosz Bilicki, for Windows:
For PowerShell:
En oppdatering med Docker 1.13 (Q4 2016), kreditt til VonC (senere i denne tråden):
docker system prune
vil slette ALLE ubrukte data (dvs. i rekkefølge: containere stoppet, volumer uten containere og bilder uten containere).Se PR 26108 og commit 86de7c0, som introduserer noen få nye kommandoer for å gjøre det lettere å visualisere hvor mye plass Docker-demon-dataene tar på disken og gjør det enkelt å rydde opp i "unødvendig" overflødig.
Først må du slutte å kjøre containere før du forsøker å fjerne dem.
Fjern løpende containere
Du kan bruke
kill
i stedet forstop
. I mitt tilfelle foretrekker jegstop
siden jeg har en tendens til å kjøre dem på nytt mot å lage en ny hver gang, så jeg prøver å stenge dem pent.Merk: Hvis du prøver å stoppe en container, får du en feil:
Fjern alle containere