Skip to content

build: error if Dockerfile name is passed with Dockerfile from stdin - #4346

Merged
thaJeztah merged 2 commits into
docker:masterfrom
thaJeztah:build_errors
Jun 21, 2023
Merged

thaJeztah merged 2 commits into
docker:masterfrom
thaJeztah:build_errors

Conversation

@thaJeztah

Copy link
Copy Markdown
Member

When passing a Dockerfile through stdin, it's not possible to specify the
name of the Dockerfile (using the -f option). When building with BuildKit
enabled, an error is already produced for this case, but the classic builder
silently ignored it.

This patch adds an error for this situation:

echo -e 'FROM busybox' | DOCKER_BUILDKIT=0 docker build -f some.Dockerfile -
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
BuildKit is currently disabled; enable it by removing the DOCKER_BUILDKIT=0
environment-variable.

unable to prepare context: ambiguous Dockerfile source: both stdin and flag correspond to Dockerfiles

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

This error was only used in a single location, so no need to define a
package-level variable for this.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
When passing a Dockerfile through stdin, it's not possible to specify the
name of the Dockerfile (using the `-f` option). When building with BuildKit
enabled, an error is already produced for this case, but the classic builder
silently ignored it.

This patch adds an error for this situation:

    echo -e 'FROM busybox' | DOCKER_BUILDKIT=0 docker build -f some.Dockerfile -
    DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
    BuildKit is currently disabled; enable it by removing the DOCKER_BUILDKIT=0
    environment-variable.

    unable to prepare context: ambiguous Dockerfile source: both stdin and flag correspond to Dockerfiles

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@thaJeztah
thaJeztah merged commit c96484a into docker:master Jun 21, 2023
@thaJeztah
thaJeztah deleted the build_errors branch June 21, 2023 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docker build doesn't disallow -f with stdin context

2 participants