2.2 KiB
AWS S3 cache storage
Warning
The
s3cache is currently unreleased. You can use it today, by using themoby/buildkit:masterimage in your Buildx driver.
The s3 cache store uploads your resulting build cache to AWS's S3 file storage service,
into a bucket of your choice.
Note
The
s3cache storage backend requires using a different driver than the defaultdockerdriver - see more information on selecting a driver here. To create a new docker-container driver (which can act as a simple drop-in replacement):docker buildx create --use --driver=docker-container
To import and export your cache using the s3 storage backend we use the
--cache-to and --cache-from flags and point it to our desired bucket using
the required region and bucket parameters:
$ docker buildx build --push -t <user>/<image> \
--cache-to type=s3,region=eu-west-1,bucket=my_bucket,name=my_image \
--cache-from type=s3,region=eu-west-1,bucket=my_bucket,name=my_image
Authentication
To authenticate to S3 to read from and write to the cache, the following parameters are required:
access_key_id: access key IDsecret_access_key: secret access keysession_token: session token
While these can be manually provided, if left unspecified, then the credentials for S3 will be pulled from the BuildKit server's environment following the environment variables scheme for the AWS Go SDK.
Warning
These environment variables must be specified on the BuildKit server, not the
buildxclient.
Cache options
The s3 cache has lots of parameters to adjust its behavior.
Cache mode
See Registry - Cache mode for more information.
Further reading
For an introduction to caching see Optimizing builds with cache management.
For more information on the s3 cache backend, see the BuildKit README.