Eliminar la caché de construcción huérfana
En este paso, aprenderemos cómo eliminar la caché de construcción huérfana. La caché de construcción huérfana se refiere a las capas de caché de construcción que ya no están asociadas con ninguna imagen nombrada. Esto puede suceder cuando se reconstruye una imagen y una capa anterior es reemplazada por una nueva. Eliminar la caché huérfana puede ayudar a liberar espacio en el disco.
Primero, modifiquemos ligeramente nuestro Dockerfile.cache
para crear algo de caché huérfana. Cambiaremos la instrucción RUN
.
Navegue al directorio ~/project
si no está ya allí.
cd ~/project
Abra el archivo Dockerfile.cache
para editarlo.
nano Dockerfile.cache
Cambie la instrucción RUN
de:
RUN apt-get update && apt-get install -y --no-install-recommends curl
a:
RUN apt-get update && apt-get install -y --no-install-recommends wget
Guarde el archivo y salga del editor nano (Presione Ctrl + X
, luego Y
, luego Enter
).
Ahora, reconstruyamos la imagen con la misma etiqueta.
docker build -t myimage:cachetest -f Dockerfile.cache .
Observe la salida. Docker probablemente reutilizará la capa FROM
de la caché, pero la instrucción RUN
ha cambiado, por lo que ejecutará ese paso de nuevo, creando una nueva capa. La capa anterior creada por la antigua instrucción RUN
es ahora una caché de construcción huérfana porque ya no forma parte de la imagen myimage:cachetest
.
Para ver la caché de construcción, puede usar el comando docker builder prune --dry-run
, aunque no siempre es fácil distinguir específicamente la caché huérfana sin herramientas más avanzadas o una comprensión del resultado de BuildKit. Una forma más sencilla de ver el efecto es eliminar la caché huérfana y ver el espacio recuperado.
Para eliminar solo la caché de construcción huérfana, usamos el comando docker builder prune
con la opción --filter dangling=true
.
docker builder prune --filter dangling=true
Se le pedirá que confirme la acción. Escriba y
y presione Enter
.
WARNING! This will remove all dangling build cache.
Are you sure you want to continue? [y/N] y
La salida mostrará la cantidad de espacio recuperado. Este espacio estaba ocupado por las capas de caché de construcción huérfanas que ya no eran necesarias.
Al eliminar la caché de construcción huérfana, puede recuperar espacio en el disco que ya no está siendo utilizado por ninguna capa de imagen activa.