-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
Document legacy build vs BuildKit differences #15477
Document legacy build vs BuildKit differences #15477
Conversation
✅ Deploy Preview for docsdocker ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site settings. |
@craig-osterhout When will this be reviewed and merged? |
@andreisilviudragnea Could you rebase the PR? |
06c9675
to
d748338
Compare
✅ Deploy Preview for docsdocker ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
@usha-mandya Done. |
Thank you @andreisilviudragnea. One of our team members will take a look and get back to you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think saying "moby vs buildkit" is confusing, in part since buildkit is also a moby project 😅 I think I would prefer if we could refer to it as "legacy vs buildkit", as we do on this page
Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
1956bc6
to
017cc33
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks a lot @andreisilviudragnea
Proposed changes
I documented how legacy engine executes all stages of a multi-stage Dockerfile from the beginning of the Dockerfile up to the target stage, even if target stage does not depend on some intermediate stages. When BuildKit is enabled, this (possible bug) does not happen and only transitive dependency stages of the target stage get executed.
I also documented that BuildKit is not enabled by default on all platforms (it is on macOS, but not on Linux) and that multi-stage builds should always be executed with BuildKit enabled in order to avoid the problem described above.
Related issues
Fixes #12231