Ik heb onlangs begonnen met behulp van Docker en nooit gerealiseerd dat ik docker-compose down
in plaats van moet gebruiken ctrl-c
of docker-compose stop
om zich te ontdoen van mijn experimenten te krijgen. Ik heb nu een groot aantal onnodige havenarbeider beelden ter plaatse.
Is er een vlag ik kan lopen om alles te wissen de lokale havenarbeider beelden & amp; containers?
Iets als docker rmi --all --force
–all vlag bestaat niet, maar ik ben op zoek naar iets met een vergelijkbaar idee.
Antwoord 1, Autoriteit 100%
Voor Unix
Om alle containers te verwijderen met inbegrip van de volumes te gebruiken,
docker rm -vf $(docker ps -a -q)
Als u alle opnamen te verwijderen,
docker rmi -f $(docker images -a -q)
Vergeet niet, je moet al de containers voor het verwijderen van alle beelden van die deze containers zijn gemaakt te verwijderen.
Voor Windows
In het geval dat u werkt op Windows (Powershell)
$images = docker images -a -q
foreach ($image in $images) { docker image rm $image -f }
Op basis van het commentaar van CodeSix, één voering voor Windows Powershell,
docker images -a -q | % { docker image rm $_ -f }
Voor Windows met behulp van command line,
for /F %i in ('docker images -a -q') do docker rmi -f %i
Antwoord 2, gezag 26%
Gebruik deze om alles verwijderen
docker system prune -a --volumes
Verwijder alle ongebruikte containers, volumes, netwerken en afbeeldingen
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all images without at least one container associated to them
- all build cache
https://docs.docker.com/engine/reference /commandline/system_prune/#extended-description
Antwoord 3, autoriteit 5%
Om alles eenvoudig te wissen:
$ docker system prune --all
Alles betekent:
- alle gestopte containers
- alle netwerken die niet door ten minste één container worden gebruikt
- alle afbeeldingen zonder ten minste één container die eraan is gekoppeld
- alle bouwcache
Antwoord 4, autoriteit 3%
docker image prune -a
Verwijder alle ongebruikte afbeeldingen, niet alleen bungelende afbeeldingen. Voeg de optie
-f
toe aan
kracht.
Lokale docker-versie: 17.09.0-ce, Git-commit: afdb6d4, OS/Arch: darwin/amd64
$ docker image prune -h
Flag shorthand -h has been deprecated, please use --help
Usage: docker image prune [OPTIONS]
Remove unused images
Options:
-a, --all Remove all unused images, not just dangling ones
--filter filter Provide filter values (e.g. 'until=<timestamp>')
-f, --force Do not prompt for confirmation
--help Print usage
Antwoord 5, autoriteit 3%
Hier is een korte en snelle oplossing die ik heb gebruikt
Docker biedt een enkele opdracht die alle bronnen opruimt – afbeeldingen, containers, volumes en netwerken – die bungelen (niet gekoppeld aan een container):
docker system prune
Om bovendien alle gestopte containers en alle ongebruikte afbeeldingen (niet alleen bungelende afbeeldingen) te verwijderen, voegt u de vlag -a toe aan de opdracht:
docker system prune -a
Ga voor meer informatie naar link
Antwoord 6
Eenvoudige en handige commando’s
Alle afbeeldingen verwijderen
docker rmi $(docker images -a)
Containers verwijderen die de status verlaten hebben
docker rm $(docker ps -a -f status=exited -q)
Containers verwijderen die de status Aangemaakt hebben
docker rm $(docker ps -a -f status=created -q)
OPMERKING: verwijder alle containers en verwijder vervolgens de afbeeldingen
Antwoord 7
Als u wilt verwijderen zonder docker aan te roepen:
rm -rf /var/lib/docker
Dit verwijdert direct alle docker-images/containers/volumes uit het bestandssysteem.
Antwoord 8
Alle afbeeldingen verwijderen:
docker rmi -f $(docker images -a | awk {'print $3'})
Uitleg:
docker-afbeeldingen -a | awk {‘print $3’}
Deze opdracht retourneert alle afbeeldings-ID’s en wordt vervolgens gebruikt om de afbeelding te verwijderen met behulp van zijn id.
Antwoord 9
docker rmi $(docker images -q) --force
Antwoord 10
Je kunt het als volgt proberen:
docker system prune
Antwoord 11
Alle afbeeldingen verwijderen:
docker rmi $(docker images -a -q)
waarbij -a alles is en -q alleen afbeeldings-ID’s retourneert
Om ongebruikte afbeeldingen en containers te verwijderen:
docker system prune
Pas op als u Docker Swarm gebruikt, en uw lokale machine sluit zich aan bij Remote Swarm (als Manager / Worker), is uw lokale plaats de ingezette repo. Uitvoeren Dit verwijdert dus de geïmplementeerde afbeeldingen.
Antwoord 12
Nog een manier met xargs
docker image ls -q | xargs -I {} docker image rm -f {}
Antwoord 13
- sudo docker afbeeldingen / docker afbeeldingen // lijst met afbeeldingen met id
sudo docker rm image <image_id>
/docker rm image <image_id>
Antwoord 14
Toevoegen aan het geaccepteerde antwoord van Techtabu, als u Docker op Windows gebruikt, kunt u de volgende opdracht
gebruiken
for /F "delims=" %A in ('docker ps -a -q') do docker rm %A
Hier, de opdracht docker ps -a -q
geeft een vermelding van alle afbeeldingen en deze lijst wordt doorgegeven aan docker rm
één voor één
Zie dit Voor meer informatie over hoe dit type opdrachtformaat werkt in Windows CMD.
Antwoord 15
Om alle Docker Local Docker-afbeeldingen te verwijderen Volg 2 stappen ::
Stap 1: Docker-afbeeldingen (lijst alle Docker-afbeeldingen met ID’s)
example :
REPOSITORY TAG IMAGE ID CREATED SIZE
pradip564/my latest 31e522c6cfe4 3 months ago 915MB
Stap 2: Docker Afbeelding RM 31E522C6CFE4 (beeld-ID)
OUTPUT : image deleted
Antwoord 16
Er is een bug in Windows waar schijfruimte niet wordt geregeneerd na het verwijderen van de afbeeldingen. Opnieuw opstarten Docker / Windows werkte niet.
Als je Docker Desktop gebruikt, werkte de volgendevoor mij. Ga naar Problemen oplossen -> Gegevens opschonen / wissen. Dit kan je veel schijfruimte besparen, misschien meer dan je wilde.
Let op: hiermee wordt alles verwijderd, dus denk twee keer na voordat je dit doet!
Antwoord 17
Hier is de opdracht die ik heb gebruikt en in een batchbestand heb gezet om alles te verwijderen:
echo “Containers verwijderen :” && if [ -n “$(docker-container ls -aq)”
]; dan stopt docker-container $(docker-container ls -aq); havenarbeider
container rm $(docker-container ls -aq); vij; echo “Beelden verwijderen :”
&&; if [ -n “$(docker-afbeeldingen -aq)” ]; dan docker rmi -f $(docker
afbeeldingen -aq); vij; echo “Volumes verwijderen :” && if [ -n “$(docker-volume
ls -q)” ]; dan docker-volume rm $(docker-volume ls -q); fi; echo
“Netwerken verwijderen :” && if [ -n “$(docker-netwerk ls | awk ‘{print
$1” “$2}’ | grep -v ‘ID|bridge|host|none’ | awk ‘{print $1}’)” ];
vervolgens docker-netwerk rm $(docker-netwerk ls | awk ‘{print $1″ “$2}’ |
grep -v ‘ID|bridge|host|none’ | awk ‘{print $1}’); fi;