code: func verifyPlatformContainerSettings(daemon *Daemon, hostConfig *containertypes.HostConfig, update bool) (warnings []string, err error) {
  	if hostConfig == nil {
  		return nil, nil
  	}
  	osv := system.GetOSVersion()
  	hyperv := daemon.runAsHyperVContainer(hostConfig)
  
  	// On RS5, we allow (but don't strictly support) process isolation on Client SKUs.
  	// Prior to RS5, we don't allow process isolation on Client SKUs.
  	// @engine maintainers. This block should not be removed. It partially enforces licensing
  	// restrictions on Windows. Ping @jhowardmsft if there are concerns or PRs to change this.
  	if !hyperv && system.IsWindowsClient() && osv.Build < 17763 {
  		return warnings, fmt.Errorf("Windows client operating systems earlier than version 1809 can only run Hyper-V containers")
  	}
  
  	w, err := verifyPlatformContainerResources(&hostConfig.Resources, hyperv)
  	warnings = append(warnings, w...)
  	return warnings, err
  }
docs: // verifyPlatformContainerSettings performs platform-specific validation of the
  // hostconfig and config structures.