Compartir comentarios
Las respuestas se generan en base a la documentación.

Caché inline

Tabla de contenidos

El backend de almacenamiento de caché inline es la forma más sencilla de obtener una caché externa y es fácil empezar a usarla si ya estás compilando y enviando una imagen.

La desventaja de la caché inline es que no escala con compilaciones multi-etapa (multi-stage) tan bien como lo hacen los otros controladores. Tampoco ofrece separación entre los artefactos de salida y la salida de la caché. Esto significa que si estás usando un flujo de compilación particularmente complejo o no estás exportando tus imágenes directamente a un registro, es posible que quieras considerar la caché de registro (registry).

Sinopsis

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline \
  --cache-from type=registry,ref=<registry>/<image> .

No se admiten parámetros adicionales para la caché inline.

Para exportar caché usando el almacenamiento inline, pasa type=inline a la opción --cache-to:

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline .

Alternativamente, también puedes exportar caché inline configurando el argumento de compilación BUILDKIT_INLINE_CACHE=1, en lugar de usar la bandera --cache-to:

$ docker buildx build --push -t <registry>/<image> \
  --build-arg BUILDKIT_INLINE_CACHE=1 .

Para importar la caché resultante en una compilación futura, pasa type=registry a --cache-from, lo que te permite extraer la caché desde el interior de una imagen de Docker en el registro especificado:

$ docker buildx build --push -t <registry>/<image> \
  --cache-from type=registry,ref=<registry>/<image> .

Lecturas adicionales

Para una introducción al almacenamiento en caché, consulta Caché de compilación de Docker.

Para obtener más información sobre el backend de caché inline, consulta el README de BuildKit.