build: avoid file resolution of dockerfile urls

Dockerfiles can be HTTP URLs as well as local paths 🤦

We just copy the same logic we use for resolving context paths, and
apply it here as well.

Signed-off-by: Justin Chadwell <me@jedevc.com>
pull/1734/head
Justin Chadwell 2 years ago
parent 6c0547e7e6
commit 566f41b598

@ -30,6 +30,7 @@ import (
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
dockeropts "github.com/docker/cli/opts"
"github.com/docker/docker/builder/remotecontext/urlutil"
"github.com/docker/docker/pkg/ioutils"
"github.com/moby/buildkit/client"
"github.com/moby/buildkit/exporter/containerimage/exptypes"
@ -689,9 +690,11 @@ func resolvePaths(options *controllerapi.BuildOptions) (_ *controllerapi.BuildOp
}
}
if options.DockerfileName != "" && options.DockerfileName != "-" {
options.DockerfileName, err = filepath.Abs(options.DockerfileName)
if err != nil {
return nil, err
if !urlutil.IsURL(options.DockerfileName) {
options.DockerfileName, err = filepath.Abs(options.DockerfileName)
if err != nil {
return nil, err
}
}
}
var contexts map[string]string

Loading…
Cancel
Save