Caché de Amazon S3
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.
| Nombre | Opción | Tipo | Predeterminado | Descripción |
|---|---|---|---|---|
region | cache-to,cache-from | String | Requerido. Ubicación geográfica. | |
bucket | cache-to,cache-from | String | Requerido. Nombre del bucket de S3. | |
name | cache-to,cache-from | String | buildkit | Nombre de la imagen de caché. |
endpoint_url | cache-to,cache-from | String | Endpoint del bucket de S3. | |
prefix | cache-to,cache-from | String | Prefijo para anteponer a todos los nombres de archivo. | |
blobs_prefix | cache-to,cache-from | String | blobs/ | Prefijo para anteponer a los nombres de archivo de los blobs. |
upload_parallelism | cache-to | Integer | 4 | Número de subidas de capas en paralelo. |
touch_refresh | cache-to | Time | 24h | Intervalo para actualizar la marca de tiempo de las capas de caché sin cambios. |
manifests_prefix | cache-to,cache-from | String | manifests/ | Prefijo para anteponer a los nombres de archivo del manifiesto. |
use_path_style | cache-to,cache-from | Boolean | false | Cuando es true, usa bucket en la URL en lugar del nombre de host. |
access_key_id | cache-to,cache-from | String | Consulta autenticación. | |
secret_access_key | cache-to,cache-from | String | Consulta autenticación. | |
session_token | cache-to,cache-from | String | Consulta autenticación. | |
mode | cache-to | min,max | min | Capas de caché a exportar, consulta modo de caché. |
ignore-error | cache-to | Boolean | false | Ignorar 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.