-
Notifications
You must be signed in to change notification settings - Fork 381
Closed
Description
Our current container runtime interface has these as separate things:
- Build
- Run
- Push
- List images
- Inspect images
However, the following combinations are what happen a lot of the time:
- Build + Run (no push)
- Build + Push (No run)
- List Images
This was fine when we were doing this with the old docker build api, but I think causes issues now with docker buildx.
- The buildkit build cache is different from the image store now, so we must pass
--loadtobuildxduring build so ourrunfinds the image without having to pull - However, when we are only doing build + push, this adds unnecessary extra complexity that will literally never be used. It's a copy (IIRC) from buildkit cache to the image store, except the image store will never actually be used. This takes up disk space and nothing else. This is primarily a problem on binderhub installs
- I'd like us to eventually support running
buildkitdirectly (which removes the need for a privileged pod), and that would only supportbuild + push. This is actually the ideal for binderhub.
Proposal
I propose we simply add 'push' and 'run' as boolean args to build and deprecate the run and push methods. Additionally, if this feels weird, we can rename build to be something else.
Runtimes that don't support run (like buildkit) can simply error out when run is True.
Metadata
Metadata
Assignees
Labels
No labels