Skip to content

Latest commit

 

History

History
175 lines (126 loc) · 5.76 KB

config-windows.md

File metadata and controls

175 lines (126 loc) · 5.76 KB

This document describes the schema for the Windows-specific section of the container configuration. The Windows container specification uses APIs provided by the Windows Host Compute Service (HCS) to fulfill the spec.

layerFolders (array of strings, REQUIRED) specifies a list of layer folders the container image relies on. The list is ordered from topmost layer to base layer. layerFolders MUST contain at least one entry.

Example

    "windows": {
        "layerFolders": [
            "C:\\Layers\\layer1",
            "C:\\Layers\\layer2"
        ]
    }

You can configure a container's resource limits via the OPTIONAL resources field of the Windows configuration.

memory is an OPTIONAL configuration for the container's memory usage.

The following parameters can be specified:

  • limit (uint64, OPTIONAL) - sets limit of memory usage in bytes.

Example

    "windows": {
        "resources": {
            "memory": {
                "limit": 2097152
            }
        }
    }

cpu is an OPTIONAL configuration for the container's CPU usage.

The following parameters can be specified:

  • count (uint64, OPTIONAL) - specifies the number of CPUs available to the container.
  • shares (uint16, OPTIONAL) - specifies the relative weight to other containers with CPU shares.
  • maximum (uint16, OPTIONAL) - specifies the portion of processor cycles that this container can use as a percentage times 100.

Example

    "windows": {
        "resources": {
            "cpu": {
                "maximum": 5000
            }
        }
    }

storage is an OPTIONAL configuration for the container's storage usage.

The following parameters can be specified:

  • iops (uint64, OPTIONAL) - specifies the maximum IO operations per second for the system drive of the container.
  • bps (uint64, OPTIONAL) - specifies the maximum bytes per second for the system drive of the container.
  • sandboxSize (uint64, OPTIONAL) - specifies the minimum size of the system drive in bytes.

Example

    "windows": {
        "resources": {
            "storage": {
                "iops": 50
            }
        }
    }

You can configure a container's networking options via the OPTIONAL network field of the Windows configuration.

The following parameters can be specified:

  • endpointList (array of strings, OPTIONAL) - list of HNS (Host Network Service) endpoints that the container should connect to.
  • allowUnqualifiedDNSQuery (bool, OPTIONAL) - specifies if unqualified DNS name resolution is allowed.
  • DNSSearchList (array of strings, OPTIONAL) - comma separated list of DNS suffixes to use for name resolution.
  • networkSharedContainerName (string, OPTIONAL) - name (ID) of the container that we will share with the network stack.

Example

    "windows": {
        "network": {
            "endpointList": [
                "7a010682-17e0-4455-a838-02e5d9655fe6"
            ],
            "allowUnqualifiedDNSQuery": true,
            "DNSSearchList": [
                "a.com",
                "b.com"
            ],
            "networkSharedContainerName": "containerName"
        }
   }

You can configure a container's group Managed Service Account (gMSA) via the OPTIONAL credentialSpec field of the Windows configuration. The credentialSpec is a JSON object whose properties are implementation-defined. For more information about gMSAs, see Active Directory Service Accounts for Windows Containers. For more information about tooling to generate a gMSA, see Deployment Overview.

When a container terminates, the Host Compute Service indicates if a Windows update servicing operation is pending. You can indicate that a container should be started in a mode to apply pending servicing operations via the OPTIONAL servicing field of the Windows configuration.

Example

    "windows": {
        "servicing": true
    }

You can indicate that a container should be started in an a mode where disk flushes are not performed during container boot via the OPTIONAL ignoreFlushesDuringBoot field of the Windows configuration.

Example

    "windows": {
        "ignoreFlushesDuringBoot": true
    }

hyperv is an OPTIONAL field of the Windows configuration. If present, the container MUST be run with Hyper-V isolation. If omitted, the container MUST be run as a Windows Server container.

The following parameters can be specified:

  • utilityVMPath (string, OPTIONAL) - specifies the path to the image used for the utility VM. This would be specified if using a base image which does not contain a utility VM image. If not supplied, the runtime will search the container filesystem layers from the bottom-most layer upwards, until it locates "UtilityVM", and default to that path.

Example

    "windows": {
        "hyperv": {
            "utilityVMPath": "C:\\path\\to\\utilityvm"
        }
    }