code: func ReadDockerConfigJSONFile(searchPaths []string) (cfg DockerConfig, err error) {
  	if len(searchPaths) == 0 {
  		searchPaths = DefaultDockerConfigJSONPaths()
  	}
  	for _, configPath := range searchPaths {
  		absDockerConfigFileLocation, err := filepath.Abs(filepath.Join(configPath, configJsonFileName))
  		if err != nil {
  			klog.Errorf("while trying to canonicalize %s: %v", configPath, err)
  			continue
  		}
  		klog.V(4).Infof("looking for %s at %s", configJsonFileName, absDockerConfigFileLocation)
  		cfg, err = ReadSpecificDockerConfigJsonFile(absDockerConfigFileLocation)
  		if err != nil {
  			if !os.IsNotExist(err) {
  				klog.V(4).Infof("while trying to read %s: %v", absDockerConfigFileLocation, err)
  			}
  			continue
  		}
  		klog.V(4).Infof("found valid %s at %s", configJsonFileName, absDockerConfigFileLocation)
  		return cfg, nil
  	}
  	return nil, fmt.Errorf("couldn't find valid %s after checking in %v", configJsonFileName, searchPaths)
  
  }
docs: // ReadDockerConfigJSONFile attempts to read a docker config.json file from the given paths.
  // if searchPaths is empty, the default paths are used.