Skip to content

Commit dcfc7f3

Browse files
authored
Merge pull request #701 from docker/cli-docker-dialer
fix(cli): use Docker client dialer for Desktop mode
2 parents 470eab8 + 5f82147 commit dcfc7f3

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

cmd/cli/desktop/context.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package desktop
33
import (
44
"context"
55
"fmt"
6+
"net"
67
"net/http"
78
"net/url"
89
"os"
@@ -345,14 +346,18 @@ func DetectContext(ctx context.Context, cli *command.DockerCli, printer standalo
345346
return nil, fmt.Errorf("TLS is not supported for Desktop contexts")
346347
}
347348

348-
// FIXME(thaJeztah): can we get the user-agent in some other way? (or just use a default, specific to DMR)?
349-
// dockerClient, err := DockerClientForContext(cli, cli.CurrentContext())
350-
// if err != nil {
351-
// return nil, fmt.Errorf("unable to create model runner client: %w", err)
352-
// }
353-
// httpClient = dockerClient.HTTPClient()
354-
// dockerClient.Close()
355-
httpClient = http.DefaultClient
349+
dockerClient, err := DockerClientForContext(cli, cli.CurrentContext())
350+
if err != nil {
351+
return nil, fmt.Errorf("unable to create model runner client: %w", err)
352+
}
353+
_ = dockerClient.Close()
354+
httpClient = &http.Client{
355+
Transport: &http.Transport{
356+
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
357+
return dockerClient.Dialer()(ctx)
358+
},
359+
},
360+
}
356361
} else {
357362
httpClient = http.DefaultClient
358363
}

0 commit comments

Comments
 (0)