docker / docker/buildx

Expose default dockerfile syntax version being used

Open
#2,459 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/buildkit area/dockerfile kind/enhancement status/needs-maintainer-decision
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.