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?
prune
no se recomienda en producción /Respuestas:
Una imagen no utilizada significa que no ha sido asignada o utilizada en un contenedor. Por ejemplo, cuando se ejecuta
docker ps -a
: enumerará todos los contenedores que se están ejecutando actualmente. 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 viejas imágenes son las que no están etiquetadas y muestran "
<none>
" su nombre cuando corresdocker images
.Cuando se ejecuta
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.fuente
docker system prune --all --filter "until=24h"
conserva imágenes recientes tambiéndocker system prune -a
elimina los contenedores detenidos. Por lo tanto, también debería eliminar imágenes asociadas solo con contenedores salidos, ¿verdad?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.
Para enumerar colgando imágenes mediante la adición de la bandera del filtro,
-f
con un valor dedangling=true
aldocker images
.Lista de imágenes colgantes
Eliminar imágenes colgantes
O
Cuando ejecutamos cualquier trabajo cron para eliminar las cosas colgantes, use lo anterior para asegurarse de que el trabajo se ejecute correctamente. Al igual que en Jenkins, si ejecutamos un trabajo de estilo libre con el siguiente comando, el trabajo nunca fallará, incluso si no existen elementos colgantes en la máquina.
Esta es la forma más segura y fácil de limpiar imágenes colgantes y recuperar nuestro espacio en disco para su uso.
fuente
docker images
están colgadas. ¿Cómo verificar su tamaño? Además, las imágenes que tienen nombre y etiqueta como none endocker images -a
son imágenes intermedias. ¿Se pueden eliminar y cómo verificar su tamaño?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: los ú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 puede que nunca hayan tenido una etiqueta (por ejemplo, la salida de adocker build
sin incluir la opción de etiqueta). Por lo general, es seguro eliminarlos siempre que no se sigan 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.
fuente
docker images -a
) también se llaman imágenes colgadas? ¿Se borran con la poda de imagen de la ventana acoplable?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.
Una imagen no utilizada es una imagen que no ha sido asignada o utilizada en un contenedor.
Lista de imágenes colgantes
fuente
las imágenes colgantes son imágenes sin etiquetar. El siguiente comando proporciona una lista de imágenes colgantes.
docker image prune
elimina todas las imágenes colgantes.Las imágenes no utilizadas son imágenes que tienen etiquetas pero que actualmente no se utilizan como contenedor. Puede que lo necesite o no en el futuro.
docker image prune -a
elimine todas las imágenes colgantes y no utilizadas.Por lo general, no desea eliminar todas las imágenes no utilizadas hasta cierto tiempo. Por lo tanto, es mejor eliminar con un filtro.
docker image prune -f --filter "until=6h"
fuente
docker image prune -a -f --filter "until=6h"
También elimina las imágenes colgantes?docker image prune -f --filter "until=6h"
, ya que no hay -a, ¿entonces cómo eliminará las imágenes no utilizadas?Vi comandos útiles (alias) para eliminar imágenes colgantes, cortesía de andyneff aquí: https://forums.docker.com/t/how-to-delete-cache/5753 :
fuente
En la captura de pantalla de imágenes, el nombre "none" son imágenes colgantes. Una imagen colgante solo significa que ha creado la nueva construcción de la imagen, pero no se le ha dado 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 muestran "" en su nombre cuando ejecuta imágenes acoplables.
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.fuente