Expose default dockerfile syntax version being used
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 4.5k
- Forks
- 682
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 29
Description
Description
Currently dont think there is an easy way to figure out what dockerfile syntax is going to be used if dockerfile does not define # syntax=... directive.
My understanding is that buildx pins a version of buildkit:
https://github.com/docker/buildx/blob/afcb609966dc748a91cb5889fa63a34034117495/go.mod#L29
which in turn contains a frontend implementation in https://github.com/moby/buildkit/tree/28264b45d924d654616f1fba1467aa0a4cefaab5/frontend
To map that to dockerfile syntax as published in https://docs.docker.com/build/dockerfile/release-notes/ is non-trivial.
Sometimes it would be useful to know what capabilities are available in dockerfile syntax by being able to query/find out what version of dockerfile is used by default.
Perhaps docker buildx version can be extended to include that information or maybe adding docker buildx info command similar to docker info which will show more information about internal buildx sub-systems is going to be very useful.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the buildx go.mod BuildKit pin at line 29 and the linked BuildKit frontend implementation, then trace how that maps to the Dockerfile syntax release notes. Compare the proposed docker buildx version extension with a docker buildx info command. Done means users can query the default Dockerfile syntax version and its available capabilities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- cli, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100