diff --git a/cli/command/image/build.go b/cli/command/image/build.go index e91bb48c21..5dd7aee6c5 100644 --- a/cli/command/image/build.go +++ b/cli/command/image/build.go @@ -350,7 +350,7 @@ func runBuild(dockerCli command.Cli, options buildOptions) error { buildCtx = dockerfileCtx } - s, err := trySession(dockerCli, contextDir) + s, err := trySession(dockerCli, contextDir, true) if err != nil { return err } diff --git a/cli/command/image/build_buildkit.go b/cli/command/image/build_buildkit.go index 8bb84388c6..cd5591e1aa 100644 --- a/cli/command/image/build_buildkit.go +++ b/cli/command/image/build_buildkit.go @@ -43,7 +43,7 @@ var errDockerfileConflict = errors.New("ambiguous Dockerfile source: both stdin func runBuildBuildKit(dockerCli command.Cli, options buildOptions) error { ctx := appcontext.Context() - s, err := trySession(dockerCli, options.context) + s, err := trySession(dockerCli, options.context, false) if err != nil { return err } diff --git a/cli/command/image/build_session.go b/cli/command/image/build_session.go index 6015b0820c..c19120758d 100644 --- a/cli/command/image/build_session.go +++ b/cli/command/image/build_session.go @@ -27,16 +27,16 @@ import ( const clientSessionRemote = "client-session" -func isSessionSupported(dockerCli command.Cli) bool { - if versions.GreaterThanOrEqualTo(dockerCli.Client().ClientVersion(), "1.39") { +func isSessionSupported(dockerCli command.Cli, forStream bool) bool { + if !forStream && versions.GreaterThanOrEqualTo(dockerCli.Client().ClientVersion(), "1.39") { return true } return dockerCli.ServerInfo().HasExperimental && versions.GreaterThanOrEqualTo(dockerCli.Client().ClientVersion(), "1.31") } -func trySession(dockerCli command.Cli, contextDir string) (*session.Session, error) { +func trySession(dockerCli command.Cli, contextDir string, forStream bool) (*session.Session, error) { var s *session.Session - if isSessionSupported(dockerCli) { + if isSessionSupported(dockerCli, forStream) { sharedKey, err := getBuildSharedKey(contextDir) if err != nil { return nil, errors.Wrap(err, "failed to get build shared key")