code: func NewDockerKeyring() DockerKeyring {
  	keyring := &lazyDockerKeyring{
  		Providers: make([]DockerConfigProvider, 0),
  	}
  
  	keys := reflect.ValueOf(providers).MapKeys()
  	stringKeys := make([]string, len(keys))
  	for ix := range keys {
  		stringKeys[ix] = keys[ix].String()
  	}
  	sort.Strings(stringKeys)
  
  	for _, key := range stringKeys {
  		provider := providers[key]
  		if provider.Enabled() {
  			klog.V(4).Infof("Registering credential provider: %v", key)
  			keyring.Providers = append(keyring.Providers, provider)
  		}
  	}
  
  	return keyring
  }
docs: // NewDockerKeyring creates a DockerKeyring to use for resolving credentials,
  // which lazily draws from the set of registered credential providers.