-
Notifications
You must be signed in to change notification settings - Fork 7
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
Figure a better builder_cache architecture. #28
Comments
The best option seems like to combine 1st, 2nd and 3rd.
|
I would implement something like: To build all images and push them to the repo you desire. |
So, considering the comment and combining all 3 options for maximum user benefits and blazing builds, when using builder in an ephemeral type of container - How to use arguments, taking runtime images as an example (can be used with dev and deps as well)-
For dev purposes -
|
|
Implemented all of above : one last thing which we can do is that once we get a stable build for all languages , we can push the cache to public common registry and can point the import cache registry to docker hub by default unless mentioned. Would be extremely user friendly. In light of this, leaving this issue open. Could be merged into #31 or even simply mention default env in docker compose. |
Normally, buildkit would persist the cache in var/lib/buildkit inside the container/system you would run it.
In case you run it, let's say on privileged mode as a docker container, it would mount the containerd layer storage and store at that place.
However, our use case dictates buildkit to run as an ephemeral container whenever we want to build an image.
To achieve persistent cache, we need to mount cache somewhere else.
However, this drastically reduces the build time as base layers would be same nonetheless. The issue arises when I make
runtime py node
, thenruntime node rb
then if we tryruntime py go
, we won't fetch py's cache.runtime lang1 lang2 ...
and simply export this to the registry and then all other subsequent builds, we only import from the registry and do not export to it, preventing rewrites.The text was updated successfully, but these errors were encountered: