Environment Setup:

Local Development (Windows Server)

Configure a local Windows Server development environment.

Here's what you'll need:

Contents

Blacklisted versions of Windows Server

Do not use Windows Server version 1903 or Windows Server version 1909 to build Windows container images with Docker version 19.03.5 or older. There is a known bug in Windows Server versions 1903 and 1909 and Windows 10 versions 1903 and 1909 that prevents Docker from building images larger than the default limit of 20GB. A workaround for this bug was introduced in Docker version 19.03.6.

Obtaining Windows Server

If you don’t already own a Windows Server license, you can download an evaluation copy of any version of Windows Server in the Long-Term Servicing Channel (LTSC) from the Microsoft Evaluation Center that will be valid for 180 days:

Note that evaluation copies are not available for versions of Windows Server in the Semi-Annual Channel (SAC). These versions of Windows Server can only be obtained by Visual Studio subscribers or Microsoft volume licensing customers with Software Assurance.

Installing Docker

As per the Docker EE Windows Server installation instructions, run the following commands from an elevated PowerShell prompt:

# Add the Docker provider to the PowerShell package manager
Install-Module DockerMsftProvider -Force

# Install Docker EE
Install-Package Docker -ProviderName DockerMsftProvider -Force

# Restart the computer to enable the containers feature
Restart-Computer

Older versions of Windows Server may sometimes encounter a checksum verification error that prevents the installation process from completing successfully. See this GitHub issue discussing the error for a number of workarounds that may help to resolve the problem.

Configuring Docker for building and running Windows containers

By default, Docker EE under Windows Server imposes a 20GB size limit on container images, which is too low for building and running Unreal Engine containers. You will need to increase the maximum container disk size to the recommended limit of 300GB by following the instructions below.

Step 1: Stop the Docker EE service:

sc.exe stop docker

Step 2: Edit the Docker daemon configuration file (which is located at %ProgramData%\Docker\config\daemon.json by default) and add the top-level storage-opts entry to any existing JSON configuration data:

{
  "storage-opts": [
    "size=300GB"
  ]
}

Step 3: Start the Docker EE service again:

sc.exe start docker

Configuring Docker for building and running Linux containers

Docker EE under Windows Server only supports running Linux containers using the experimental Linux containers on Windows (LCOW) feature, which relies on Hyper-V isolation mode. Hyper-V isolation mode currently suffers from a number of performance and stability issues that make it poorly suited for use with Unreal Engine containers. It is strongly recommended that you use another platform for building and running Linux containers.

There are a number of guides available online that discuss enabling LCOW support under Windows server, but no instructions are provided by the official Microsoft documentation. This page will be updated when official documentation on this configuration scenario becomes available.