Add a timeout when trying to connect to the server, otherwise sometimes it just hangs

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: f013aa7f96d7fc818f06f5b7fe0bbd20ff2d3294
Component: engine
This commit is contained in:
Doug Davis
2014-09-15 04:50:22 -07:00
parent eb7e1f51d1
commit fa164d03f1

View File

@ -16,6 +16,7 @@ import (
"strconv"
"strings"
"syscall"
"time"
"github.com/docker/docker/api"
"github.com/docker/docker/dockerversion"
@ -34,7 +35,8 @@ func (cli *DockerCli) HTTPClient() *http.Client {
tr := &http.Transport{
TLSClientConfig: cli.tlsConfig,
Dial: func(network, addr string) (net.Conn, error) {
return net.Dial(cli.proto, cli.addr)
// Why 32? See issue 8035
return net.DialTimeout(cli.proto, cli.addr, 32*time.Second)
},
}
return &http.Client{Transport: tr}