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

Caché de Amazon S3

Disponibilidad: Experimental

El almacenamiento de caché s3 sube la caché de compilación resultante al servicio de almacenamiento de archivos Amazon S3 u otros servicios compatibles con S3, como MinIO.

Este backend de almacenamiento de caché no es compatible con el controlador docker predeterminado. Para usar esta función, crea un nuevo constructor (builder) usando un controlador diferente. Consulta Controladores de compilación para obtener más información.

Sinopsis

$ docker buildx build --push -t <user>/<image> \
  --cache-to type=s3,region=<region>,bucket=<bucket>,name=<cache-image>[,parameters...] \
  --cache-from type=s3,region=<region>,bucket=<bucket>,name=<cache-image> .

La siguiente tabla describe los parámetros CSV disponibles que puedes pasar a --cache-to and --cache-from.

NombreOpciónTipoPredeterminadoDescripción
regioncache-to,cache-fromStringRequerido. Ubicación geográfica.
bucketcache-to,cache-fromStringRequerido. Nombre del bucket de S3.
namecache-to,cache-fromStringbuildkitNombre de la imagen de caché.
endpoint_urlcache-to,cache-fromStringEndpoint del bucket de S3.
prefixcache-to,cache-fromStringPrefijo para anteponer a todos los nombres de archivo.
blobs_prefixcache-to,cache-fromStringblobs/Prefijo para anteponer a los nombres de archivo de los blobs.
upload_parallelismcache-toInteger4Número de subidas de capas en paralelo.
touch_refreshcache-toTime24hIntervalo para actualizar la marca de tiempo de las capas de caché sin cambios.
manifests_prefixcache-to,cache-fromStringmanifests/Prefijo para anteponer a los nombres de archivo del manifiesto.
use_path_stylecache-to,cache-fromBooleanfalseCuando es true, usa bucket en la URL en lugar del nombre de host.
access_key_idcache-to,cache-fromStringConsulta autenticación.
secret_access_keycache-to,cache-fromStringConsulta autenticación.
session_tokencache-to,cache-fromStringConsulta autenticación.
modecache-tomin,maxminCapas de caché a exportar, consulta modo de caché.
ignore-errorcache-toBooleanfalseIgnorar los errores causados por exportaciones de caché fallidas.

Autenticación

Buildx puede reutilizar las credenciales de AWS existentes, configuradas mediante un archivo de credenciales o variables de entorno, para subir y descargar la caché en S3. Alternativamente, puedes usar los atributos access_key_id, secret_access_key y session_token para especificar las credenciales directamente en la CLI.

Consulta el documento SDK de AWS para Go, especificación de credenciales (Specifying Credentials) para obtener detalles sobre la autenticación utilizando variables de entorno y el archivo de credenciales.

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é s3, consulta el README de BuildKit.