Docker: Hoe kan ik alle lokale Docker beelden

Ik heb onlangs begonnen met behulp van Docker en nooit gerealiseerd dat ik docker-compose downin plaats van moet gebruiken ctrl-cof docker-compose stopom 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 -ftoe 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

  1. sudo docker afbeeldingen / docker afbeeldingen // lijst met afbeeldingen met id
  2. 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 -qgeeft 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;

Other episodes