Docker eliminar imágenes de ETIQUETAS
root@server:~# docker images -a
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 5e2dfc857e73 5 days ago 261.6 MB
<none> <none> d053e988f23d 5 days ago 261.6 MB
<none> <none> 1d5d4a2d89eb 5 days ago 261.6 MB
<none> <none> ea0d189fdb19 5 days ago 100.5 MB
<none> <none> 26c6175962b3 5 days ago 100.5 MB
<none> <none> 73d5cec4a0b3 5 days ago 100.5 MB
<none> <none> e19590e1bac1 5 days ago 100.5 MB
He intentado lo siguiente:
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
Y lo siguiente:
docker rmi $(docker images -f "dangling=true" -q)
Obtiene el siguiente error:
docker: "rmi" requires a minimum of 1 argument.
See 'docker rmi --help'.
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
10 answers
Puedes intentar listar solo imágenes sin etiquetar (aquellas sin etiquetas, o con etiqueta sin etiqueta):
docker images -q -a | xargs docker inspect --format='{{.Id}}{{range $rt := .RepoTags}} {{$rt}} {{end}}'|grep -v ':'
Sin embargo, algunas de esas imágenes sin etiquetar podrían ser necesarias para otros.
Prefiero eliminar solo imágenes colgantes :
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Como mencioné para docker 1.13 + en Sept. 2016 en " Cómo eliminar imágenes Docker antiguas y no utilizadas", también puede hacer image prune
comando :
docker image prune
Dicho esto, Janaka Bandara menciona en los comentarios:
Esto hizo no eliminar
<none>
-imágenes etiquetadas para mí (por ejemplo,foo/bar:<none>
); tuve que usardocker images --digests
ydocker rmi foo/bar@<digest>
Janaka referencias " Cómo Eliminar una Imagen Firmada con una etiqueta " de Paul V. Novarese:
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pvnovarese/mprime latest 459769dbc7a1 5 days ago 4.461 MB
pvnovarese/mprime <none> 459769dbc7a1 5 days ago 4.461 MB
Pasos de diagnóstico
Usted puede ver la diferencia en estas dos entradas si utiliza el
--digests=true
opción (la etiqueta la entrada tiene el resumen de la firma de la confianza de contenido de Docker):
# docker images --digests=true
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
pvnovarese/mprime latest <none> 459769dbc7a1 5 days ago 4.461 MB
pvnovarese/mprime <none> sha256:0b315a681a6b9f14f93ab34f3c744fd547bda30a03b55263d93861671fa33b00 459769dbc7a1 5 days ago
Note que Pablo también menciona moby issue 18892:
Después de extraer una imagen firmada, hay una entrada "extra" (con etiqueta
<none>
) en la salida "docker images
".
Esto hace que sea difícilrmi
la imagen (tienes que forzarla, o bien eliminar primero la entrada correctamente etiquetada, o eliminar por resumen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-12 05:38:53
docker images | grep none | awk '{ print $3; }' | xargs docker rmi
Puedes probar esto simplemente
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-26 10:11:25
Docker image prune elimina todas las imágenes colgantes (aquellas con etiqueta none). docker image prune - a también eliminaría cualquier imagen que no tenga un contenedor que las use.
La diferencia entre imágenes colgantes y no utilizadas se explica en este hilo de stackoverflow.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-25 11:16:07
Puedes ir docker rmi $(docker images --format '{{.ID}}' --filter=dangling=true)
. Vea la documentación de imágenes para más opciones.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 94870cda569b 4 seconds ago 673MB
python 2.7 320a06f42b5f 10 days ago 673MB
mysql latest e799c7f9ae9c 2 months ago 407MB
gcavalcante8808/semaphore latest 86e863e11461 2 months ago 537MB
redis latest e32ef7250bc1 2 months ago 184MB
rabbitmq 3.6.9-management 7e69e14cc496 2 months ago 179MB
rabbitmq 3.6.9 eb2e4968538a 2 months ago 179MB
jordan/rundeck latest 6d40b57b1572 2 months ago 660MB
rabbitmq 3.5.6-management dbfe8d18809a 19 months ago 304MB
$ docker rmi $(docker images --format '{{.ID}}' --filter=dangling=true)
Deleted: sha256:94870cda569b8cf5f42be25af107d464c993b4502a1472c1679bf2d213b6c0a6
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-18 21:13:25
Elimine las imágenes que tienen none
como nombre de repositorio usando lo siguiente:
docker rmi $(docker images | grep "^<none" | awk '{print $3}')
Eliminar imágenes que tienen none
etiqueta o nombre del repositorio:
docker rmi $(docker images | grep "none" | awk '{print $3}')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-15 17:07:58
Para eliminar imágenes colgantes por favor utilice :
docker image rm $(docker images --format "{{.ID}}" --filter "dangling=true")
Por favor refiérase a mi respuesta aquí para una descripción más detallada: https://unix.stackexchange.com/a/445664/292327
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-24 03:51:06
He encontrado docker image prune -f
más útil y lo uso todo el tiempo durante mi trabajo diario, usar la etiqueta -f
no me pedirá confirmación. Más detalles aquí
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-20 10:01:28
Intenta
docker rmi -f $(docker images -a | awk 'NR> 1 || $2 = "<none>" {print $3}')
, mientras que puede haber comandos más limpios
Actualizado
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-25 10:28:04
Simplemente elimine las imágenes usando sus ID:
# docker rmi 5e2dfc857e73 d053e988f23d ...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-18 17:57:54
docker rmi $(docker images -a -q)
Indicó las siguientes imágenes en uso. Creo que este comando se deshace de imágenes no deseadas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-25 10:05:30