¿Cómo se elimina una imagen de Docker?
Estoy ejecutando Docker en Vagrant en OS X 10.8.4 (Mountain Lion) y cada vez que intento eliminar una imagen guardada, aparece un error:
$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input
Según la rmi
ayuda, la sintaxis adecuada es docker rmi IMAGE [IMAGE...]
y no estoy seguro de qué hacer con eso.
¿Cómo puedo eliminar una imagen?
$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1
$docker info
Containers: 1
Images: 3
Curiosamente, cuando ejecuto docker ps
, no aparece ningún contenedor. En ejecución docker images
se muestran cuatro (4) base
imágenes y una (1) node
imagen.
Intentar docker rmi node
. Eso debería funcionar.
Ver todos los contenedores creados es tan sencillo como docker ps -a
.
Para eliminar todos los contenedores existentes (¡no imágenes!), ejecutedocker rm $(docker ps -aq)
Las siguientes son algunas de las formas de eliminar imágenes/contenedores de Docker:
Eliminar una sola imagen
docker rmi image_name:version/image-id
Eliminar todas las imágenes
docker rmi $(docker images -qf "dangling=true")
Mata los contenedores y retíralos:
docker rm $(docker kill $(docker ps -aq))
Nota: Reemplace kill
con stop
para un cierre ordenado
Eliminar todas las imágenes excepto "mi-imagen"
Utilice grep para eliminar todo excepto my-image
yubuntu
docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})
O (sin awk)
docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))
Eliminar todos los contenedores acoplables
docker rm $(docker ps -a -q)
Eliminar todas las imágenes de la ventana acoplable
docker rmi $(docker images -q)
Para eliminar una imagen de Docker usando el ID de la imagen:
Obtener la lista de todas las imágenes
docker images
Identifique el ID de la imagen que desea eliminar, por ejemplo:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE kweku360/java latest 08d3a9b8e166 2 weeks ago 5.733 GB`
Finalmente elimine la imagen usando el ID de la imagen (solo se requieren los primeros tres dígitos)
docker rmi 08d