invoke: load defaults from image config #1324
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If user does not specify image certain container parameters, we can load them from the exporter metadata 🎉 This is mostly to scratch the itch that most of the time when debugging an image, I want to run it exactly as how it would be launched by docker.
Additionally, we introduce a new "default" value for the --invoke flag, that keeps all of the default parameters (since cobra does not have an easy way of accepting an optional flag argument).
Example with overriding the
USER
:$ BUILDX_EXPERIMENTAL=1 docker buildx build --invoke sh . ... Launching interactive container. Press Ctrl-a-c to switch to monitor console $ whoami foo
I'm not sure about the interaction of
CMD
andENTRYPOINT
here, it doesn't feel right, but I can't quite find the logic of how they're joined together in moby.CC @ktock