Cómo eliminar todas las imágenes locales de Docker Docker


267

Recientemente he comenzado a usar acoplable y nunca di cuenta de que debo utilizar docker-compose downen lugar de ctrl-co docker-compose stoppara deshacerse de mis experimentos. Ahora tengo una gran cantidad de imágenes acoplables innecesarias a nivel local.

¿Hay algún indicador que pueda ejecutar para eliminar todas las imágenes y contenedores de la ventana acoplable local?

Algo así como docker rmi --all --force--toda la bandera no existe pero estoy buscando algo con una idea similar.



2
docker images purge-> eliminará todas las imágenes de
tu ventana

Con xargs:docker image ls -q | xargs -I {} docker image rm -f {}
arkadyt

@muthukumarhelius Creo que te refieres docker image prune(imagen es singular y es ciruela en lugar de purga).
Andrés Mejía

Respuestas:


535

Para eliminar todos los contenedores, incluidos sus volúmenes de uso,

docker rm -vf $(docker ps -a -q)

Para borrar todas las imágenes,

docker rmi -f $(docker images -a -q)

Recuerde, debe eliminar todos los contenedores antes de eliminar todas las imágenes a partir de las cuales se crearon esos contenedores.

En caso de que esté trabajando en Windows (Powershell),

$images = docker images -a -q
foreach ($image in $images) { docker image rm $image -f }

77
unknown shorthand flag: 'a' in -acuando se ejecutadocker rmi -f $(docker images -a -q)
Ashutosh Chamoli

25
@Ashutosh Chamoli: No funciona en CMD, funciona en PowerShell.
Jack

44
Variante de una línea para PowerShell:docker images -a -q | % { docker image rm $_ -f }
CodeStix

44
Debo haber venido aquí cientos de veces. Gracias por escribir esta respuesta!
Ajay Maity

「Docker rmi -f $ (imágenes de docker -a -q)」 es realmente
duro

176

Use esto para eliminar todo :

docker system prune -a --volumes

Elimine todos los contenedores, volúmenes, redes e imágenes no utilizados

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


1
Sin embargo, en realidad no reclama todo el espacio en disco.
lucian303

@ lucian303 este enfoque recupera espacio en disco. Quizás estés enfrentando un problema en particular.
Robert

Parece que solo obtengo el resultado deseado cuando hago esto y los pasos en la respuesta de
@techtabu

31

Para borrar todo lo simple:

$ docker system prune --all

Todo significa:

  • todos los contenedores detenidos
  • todas las redes no utilizadas por al menos un contenedor
  • todas las imágenes sin al menos un contenedor asociado a ellas
  • todo construir caché

26

docker image prune -a

Elimine todas las imágenes no utilizadas, no solo las que cuelgan. Agregar -fopción para forzar.

Versión local del docker: 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

7

Comandos fáciles y prácticos

Para borrar todas las imágenes

docker rmi $(docker images -a)

Para eliminar contenedores que están en estado salido

docker rm $(docker ps -a -f status=exited -q)

Para eliminar contenedores que están en estado creado

docker rm $(docker ps -a -f status=created -q)

NOTA: elimine todos los contenedores y luego elimine las imágenes


para eliminar todas las imágenes, debe ser - "docker rmi $ (docker images -a -q)". -q devuelve solo los identificadores de imagen
Jimmy MG Lim

eso significa que ha eliminado esas imágenes. Vuelva a verificar una vez más
Deep Nirmal

3

Para borrar todas las imágenes:

docker rmi -f $(docker images -a | awk {'print $3'})

Explicación:

imágenes del acoplador -a | awk {'print $ 3'}

Este comando devolverá todas las identificaciones de imagen y luego se utilizará para eliminar la imagen utilizando su identificación.


3

Eliminar sin invocar docker :

rm -rf /var/lib/docker

Esto no se recomienda si puede ejecutar Docker normalmente, pero si por alguna razón no puede o no quiere, esto funcionará.


2

Puedes intentarlo así:

docker system prune

En mi caso, esto eliminaría un volumen que todavía uso. No use esto si no sabe lo que hace
Zach Smith

2

Para borrar todas las imágenes:

docker rmi $(docker images -a -q)

donde -a es todo y -q es devolver solo identificadores de imagen

Para eliminar imágenes no utilizadas y contenedores:

docker system prune

tenga cuidado como si estuviera usando el enjambre Docker, y su máquina local se está uniendo a un enjambre remoto (como gerente / trabajador), su local será el repositorio desplegado. Al ejecutar esto, se eliminan las imágenes desplegadas.


2
docker rmi $(docker images -q) --force

2
Debe agregar alguna explicación al dejar una respuesta en una publicación, para que otros que la encuentren más tarde puedan entenderla.
Morphyish el

1

Agregando a la respuesta aceptada de techtabu, si está usando Docker en Windows, puede usar el siguiente comando

for /F "delims=" %A in ('docker ps -a -q') do docker rm %A

aquí, el comando docker ps -a -qenumera todas las imágenes y esta lista se pasa docker rmuna por una

vea esto para obtener más detalles sobre cómo funciona este tipo de formato de comando en Windows cmd.


1

Otra forma con xargs

docker image ls -q | xargs -I {} docker image rm -f {}

0

Para eliminar todas las imágenes locales de Docker Docker, siga 2 pasos:

Paso 1: imágenes acoplables (enumere todas las imágenes acoplables con ID)

     example :
     REPOSITORY    TAG    IMAGE ID            CREATED             SIZE
     pradip564/my  latest 31e522c6cfe4        3 months ago        915MB

Paso 2: Docker image rm 31e522c6cfe4 (ID DE IMAGEN)

      OUTPUT : image deleted
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.