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.
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 correrdocker 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
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
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)
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