-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: ability to enable Docker Buildkit for sam build
#3972
Comments
Huh, I just found docker/docker-py#2230 and it looks like bad news… 😞 |
I know it's going to be an interesting feature to support but since our builds are based on docker API for python, unless docker supports buildkit on python api I don't see a quick solution to this! |
Makes sense. Thanks. Maybe it’d help if maintainers of downstream libs would comment on that issue? Or otherwise somehow convey to the maintainers of Thanks! |
@aviflat Yep I would assume opening an issue against their repository would be the way to go! |
Well, since docker/docker-py#2230 already exists, I was suggesting that one of the maintainers of this project post a comment to that issue, voicing support for the feature. |
Since there isn't much we can do on our side, I will close this for now but please re-open when this is actionable for us. |
The lack of BuildKit caching is currently our biggest pain point with SAM. Given that it's been >3.5 years with no progress on the upstream issue in docker-py, would you be open to a PR that replaces the docker-py Or if you'd rather make the proposed behavior opt-in we could toggle whether we use docker-py or the CLI via a command line flag like |
Hi, It works fine with buildx |
Describe your idea/feature/enhancement
I wish SAM CLI would enable me to enable Docker Buildkit when running
sam build
for a function withPackageType: Image
.This would enable me to use BuildKit features such as cache mounts for faster and more efficient builds.
Proposal
A very specific approach would be to add a new option along the lines of
--use-docker-buildkit
or something like that.That said, something more general might be a good idea.
For example, I tried to enable buildkit by running
export DOCKER_BUILDKIT=1 && sam build
but it didn’t work.IIRC
docker build
supports various other environment variables, so it might be a good idea to have a general purpose mechanism to set environment variables that’d be exposed to thedocker build
process.One way to do this might be to simply forward/inherit the environment vars from the user’s shell to/into the
docker build
process.Another way could be to add a CLI option like
--docker-build-env DOCKER_BUILDKIT=1,FOO=bar
Additional Details
This will not require any updates to the SAM Spec.
The text was updated successfully, but these errors were encountered: