Caché inline
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.