tag run remove name hub docker

remove - docker run



Docker: ¿Qué es una imagen colgante y qué es una imagen no utilizada? (3)

En la documentación de Docker de la poda de imágenes de Docker , es posible usar el indicador -a para

Elimine todas las imágenes no utilizadas, no solo las que cuelgan

y después

Eliminar todas las imágenes colgantes. Si se especifica -a, también eliminará todas las imágenes a las que ningún contenedor haga referencia.

¿Alguien puede explicarme qué son las imágenes colgantes y cuál es la diferencia entre las imágenes colgantes y las imágenes no utilizadas?


La forma más segura y fácil de limpiar imágenes colgantes

Las imágenes de Docker consisten en múltiples capas. Las imágenes colgantes son capas que no tienen relación con ninguna imagen etiquetada. Ya no tienen un propósito y consumen espacio en disco.

El problema con la docker system prune -a , eliminará las imágenes que se tagean para la copia de seguridad, pero que ningún contenedor utiliza. Esto no se recomienda para servidores de producción.

Para enumerar imágenes colgantes agregando la bandera de filtro, -f con un valor de dangling=true a las docker images .

Lista de imágenes colgantes

docker images -f dangling=true

Eliminar imágenes colgantes

docker rmi $(docker images -f dangling=true -q)

O

docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi

Esta es la forma más segura y fácil de limpiar imágenes colgantes y recuperar nuestro espacio en disco para su uso.

Tenga en cuenta que : docker system prune -a eliminará todas las imágenes a las que el contenedor no hace referencia, por lo que no podemos volver a la versión anterior. En la producción, en lugar de crear una nueva imagen, utilizamos imágenes anteriores que funcionaban antes.


Las imágenes en la ventana acoplable están referenciadas por un resumen de sha256, a menudo denominado id de imagen. Ese resumen es todo lo que necesita para que la imagen exista en el host docker. Por lo general, tendrá etiquetas que apuntan a estos resúmenes, por ejemplo, la etiqueta busybox: últimos puntos actuales para la identificación de imagen c30178c523 ... en mi sistema. Varias etiquetas pueden apuntar a la misma imagen, y cualquier etiqueta puede cambiarse para apuntar a una identificación diferente, por ejemplo, cuando extrae una nueva copia de busybox: último o crea una nueva versión de la imagen de su aplicación.

Las imágenes colgantes son imágenes que no tienen una etiqueta, y no tienen una imagen secundaria (por ejemplo, una imagen antigua que usaba una versión diferente de FROM busybox:latest ), apuntando a ellas. Es posible que hayan tenido una etiqueta apuntando hacia ellos antes y esa etiqueta cambió más tarde. O es posible que nunca hayan tenido una etiqueta (por ejemplo, la salida de una docker build sin incluir la opción de etiqueta). Por lo general, es seguro eliminarlos siempre y cuando todavía no se estén ejecutando contenedores que hagan referencia a la identificación de la imagen anterior. La razón principal para mantenerlos es para propósitos de almacenamiento en caché.

Además, es posible que haya descargado imágenes que actualmente no utiliza los contenedores (incluidos los contenedores detenidos). Estas son completamente diferentes de las imágenes colgantes y pueden eliminarse con seguridad siempre que no planee usarlas en el futuro o no le importe descargar otra copia cuando las necesite.


Una imagen no utilizada significa que no ha sido asignada o utilizada en un contenedor. Por ejemplo, cuando se ejecuta docker ps -a , se enumerarán todos los contenedores salidos y actualmente en ejecución. Las imágenes que se muestran que se usan dentro de cualquiera de los contenedores son una "imagen usada".

Por otro lado, una imagen colgante solo significa que ha creado la nueva construcción de la imagen, pero no se le dio un nuevo nombre. Entonces las viejas imágenes que tienes se convierten en la "imagen colgante". Esas imágenes antiguas son las que no están etiquetadas y muestra " <none> " en su nombre cuando ejecuta docker images .

Al ejecutar la docker system prune -a , eliminará las imágenes colgantes y no utilizadas. Por lo tanto, las imágenes que se usen en un contenedor, ya sea que se hayan salido o que se estén ejecutando actualmente, NO se verán afectadas.