code: func newKubeDockerClient(dockerClient *dockerapi.Client, requestTimeout, imagePullProgressDeadline time.Duration) Interface {
  	if requestTimeout == 0 {
  		requestTimeout = defaultTimeout
  	}
  
  	k := &kubeDockerClient{
  		client:                    dockerClient,
  		timeout:                   requestTimeout,
  		imagePullProgressDeadline: imagePullProgressDeadline,
  	}
  
  	// Notice that this assumes that docker is running before kubelet is started.
  	ctx, cancel := k.getTimeoutContext()
  	defer cancel()
  	dockerClient.NegotiateAPIVersion(ctx)
  
  	return k
  }
docs: // newKubeDockerClient creates an kubeDockerClient from an existing docker client. If requestTimeout is 0,
  // defaultTimeout will be applied.