Here's what you'll need:
- Windows Server 2016 or newer
- Docker Enterprise Edition (EE) for Windows Server
- Blacklisted versions of Windows Server
- Obtaining Windows Server
- Installing Docker
- Configuring Docker for building and running Windows containers
- Configuring Docker for building and running Linux containers
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.
As per the Docker EE Windows Server installation instructions, run the following commands from an elevated PowerShell prompt:
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:
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:
Step 3: Start the Docker EE service again:
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.