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

5 minutos de lectura

avatar de usuario
Kimmo Hintikka

Recientemente comencé a usar Docker y nunca me di cuenta de que debería usar docker-compose down en vez de ctrl-c o docker-compose stop para deshacerme de mis experimentos. Ahora tengo una gran cantidad de imágenes acoplables innecesarias localmente.

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

Algo como docker rmi --all --force –all flag no existe pero estoy buscando algo con una idea similar.

  • Relacionado: Cómo eliminar imágenes de Docker antiguas y sin usar.

    – kenorb

    13 de abril de 2018 a las 0:19

  • docker images purge –> eliminará todas las imágenes de la ventana acoplable

    – muthukumar selvaraj

    23/10/2018 a las 18:55

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

    – iamarkadyt

    30 de diciembre de 2019 a las 23:57


  • @muthukumarhelius Creo que te refieres docker image prune (la imagen es singular y es podar en lugar de purgar).

    –Andrés Mejía

    25 de mayo de 2020 a las 21:06

  • docker image prune --all --force

    – Alejandro Yukal

    6 oct 2021 a las 17:01


avatar de usuario
techtabu

Unix

Para eliminar todos los contenedores, incluido su uso de volúmenes,

docker rm -vf $(docker ps -aq)

Para borrar todas las imágenes,

docker rmi -f $(docker images -aq)

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

Windows-PowerShell

docker images -a -q | % { docker image rm $_ -f }

Windows – Línea de comandos

for /F %i in ('docker images -a -q') do docker rmi -f %i

  • unknown shorthand flag: 'a' in -a al correr docker rmi -f $(docker images -a -q)

    – Ashutosh Chamoli

    5 de febrero de 2019 a las 10:06

  • @Ashutosh Chamoli: no funciona en CMD, funciona en PowerShell.

    – Jacobo

    26 de febrero de 2019 a las 10:21


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

    – codestix

    17 de diciembre de 2019 a las 19:14

  • Debo haber venido aquí cientos de veces. ¡Gracias por escribir esta respuesta!

    – Ajay Maity

    13 de enero de 2020 a las 11:21

  • @Titán, gracias. Editado. No tengo forma de probar en Windows, debería haber prestado más atención al comentario.

    – Techtabu

    2 de agosto de 2020 a las 23:08


avatar de usuario
Roberto

Usa esto para elimina todo:

docker system prune -a --volumes

Eliminar 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

  • Sin embargo, en realidad no recupera todo el espacio en disco.

    – lucian303

    1 de marzo de 2019 a las 0:57

  • @ lucian303 este enfoque recupera espacio en disco. Tal vez te enfrentas a un problema en particular.

    – Roberto

    7 de noviembre de 2019 a las 16:48

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

    – francojposa

    30 de diciembre de 2019 a las 17:58

  • indicador desconocido: –volumes

    – Aswzen

    19 de julio de 2020 a las 5:05

  • @ lucian303 en mi caso, el espacio se recuperó solo después de reiniciar la ventana acoplable

    – dav

    25 de marzo de 2021 a las 13:42


Aquí hay una solución corta y rápida que usé.

Docker proporciona un único comando que limpiará todos los recursos (imágenes, contenedores, volúmenes y redes) que estén colgando (no asociados con un contenedor):

docker system prune

Para eliminar adicionalmente los contenedores detenidos y todas las imágenes no utilizadas (no solo las imágenes colgantes), agregue el indicador -a al comando:

docker system prune -a


Para más detalles visita Enlace

docker image prune -a

Elimine todas las imágenes no utilizadas, no solo las que cuelgan. Agregar -f opción a la fuerza.

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

Comandos fáciles y prácticos

Para eliminar todas las imágenes

docker rmi $(docker images -a)

Para eliminar contenedores que están en estado de salida

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: Retire todos los contenedores y luego retire las imágenes.

  • para eliminar todas las imágenes, debe ser – “docker rmi $(docker images -a -q)”. -q devuelve solo los identificadores de imagen

    – globo de espejismo

    16 de julio de 2019 a las 16:43


  • eso significa que ha borrado esas imágenes. Vuelva a comprobar una vez más

    – Profundo Nirmal

    16 de julio de 2019 a las 18:48

Si necesita eliminar sin invocar docker:

rm -rf /var/lib/docker

Esto elimina directamente todas las imágenes/contenedores/volúmenes de la ventana acoplable del sistema de archivos.

  • para eliminar todas las imágenes, debe ser – “docker rmi $(docker images -a -q)”. -q devuelve solo los identificadores de imagen

    – globo de espejismo

    16 de julio de 2019 a las 16:43


  • eso significa que ha borrado esas imágenes. Vuelva a comprobar una vez más

    – Profundo Nirmal

    16 de julio de 2019 a las 18:48

avatar de usuario
Hasan

Para el usuario de Linux Ubuntu, a continuación funcionó para mí. Palabra de advertencia: eliminará todo por el camino.

Para eliminar contenedores junto con los volúmenes asociados a ellos, use lo siguiente:

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

Para eliminar imágenes, use lo siguiente:

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

¿Ha sido útil esta solución?