code: func ConnectToDockerOrDie(dockerEndpoint string, requestTimeout, imagePullProgressDeadline time.Duration,
  	withTraceDisabled bool, enableSleep bool) Interface {
  	if dockerEndpoint == FakeDockerEndpoint {
  		fakeClient := NewFakeDockerClient()
  		if withTraceDisabled {
  			fakeClient = fakeClient.WithTraceDisabled()
  		}
  
  		if enableSleep {
  			fakeClient.EnableSleep = true
  		}
  		return fakeClient
  	}
  	client, err := getDockerClient(dockerEndpoint)
  	if err != nil {
  		klog.Fatalf("Couldn't connect to docker: %v", err)
  	}
  	klog.Infof("Start docker client with request timeout=%v", requestTimeout)
  	return newKubeDockerClient(client, requestTimeout, imagePullProgressDeadline)
  }
docs: // ConnectToDockerOrDie creates docker client connecting to docker daemon.
  // If the endpoint passed in is "fake://", a fake docker client
  // will be returned. The program exits if error occurs. The requestTimeout
  // is the timeout for docker requests. If timeout is exceeded, the request
  // will be cancelled and throw out an error. If requestTimeout is 0, a default
  // value will be applied.