Configuration
Configuring Windows Server
Contents
Windows Server provides an optimal experience when running Windows containers, but only when process isolation mode is used. Using Hyper-V isolation mode will result in a sub-optimal experience due to several issues that impact performance and stability. Process isolation mode is the default isolation mode under Windows Server.
Requirements
- Windows Server 2016 or newer
- Minimum 8GB of RAM
- Minimum 600GiB available disk space for building container images
Step 1: Install Docker EE
As per the instructions provided by the Install Docker Engine - Enterprise on Windows Servers page of the Docker Documentation, run the following commands from an elevated PowerShell prompt:
Step 2: Install Python 3 via Chocolatey
The simplest way to install Python and pip under Windows is to use the Chocolatey package manager. To do so, run the following command from an elevated PowerShell prompt:
You may need to restart the system for your shell to recognise the updates that the Chocolatey installer makes to the system PATH
environment variable. Once these changes are recognised, you can install Python by running the following command from either an elevated PowerShell prompt or an elevated Command Prompt:
Step 3: Install ue4-docker
Install the ue4-docker Python package by running the following command from an elevated Command Prompt:
Step 4: Use ue4-docker to automatically configure Docker and Windows Firewall
To automatically configure the required system settings, run the ue4-docker setup command from an elevated Command Prompt:
This will configure the Docker daemon to set the maximum image size to 400GB, create a Windows Firewall rule to allow Docker containers to communicate with the host system (which is required during the build of the ue4-source image), and download any required DLL files under Windows Server version 1809 and newer.
Step 5: Copy required DLL files (Windows Server Core version 1803 and older only)
This step is only required under when building the ue4-build-prerequisites image locally under older versions of Windows Server.
Starting from Windows Server version 1809 (base image tag ltsc2019
), the ue4-docker setup command will automatically extract the required DLL files from the full Windows base image. Manual configuration is only required under Windows Server version 1803 and older when you are building the ue4-build-prerequisites image locally rather than pulling the prebuilt version.
Under Windows Server Core, you will need to copy a number of DLL files from a copy of Windows 10 (or Windows Server with the Desktop Experience feature) and place them in the C:\Windows\System32
directory. Note that these DLL files must be copied from the same version of Windows as the Windows Server Core host system (e.g. Windows Server 1709 needs DLLs from Windows 10 1709, Windows Server 1803 needs DLLs from Windows 10 1803, etc.) Although DLLs from an older system version may potentially work, Windows containers will refuse to load these DLL files if they have been copied from a version of Windows that is newer than the container.
The required DLL files for each version of Windows Server Core are listed in the tables below, along with the minimum and maximum versions of these DLLs that have been tested and are known to work.
Windows Server 2016 (base image tag ltsc2016
)
Version-specific dependency:
The file ddraw.dll
is only required under Windows Server 2016 because it is a dependency of the relevant version of opengl32.dll
. Under later versions of Windows, this dependency is replaced with the API set ext-ms-win-dx-ddraw-l1-1-0.dll
, and so only the remaining three DLL files are required.
DLL File | Min Version | Max Version |
---|---|---|
ddraw.dll | 10.0.14393.0 | 10.0.14393.953 |
dsound.dll | 10.0.14393.0 | 10.0.14393.0 |
glu32.dll | 10.0.14393.0 | 10.0.14393.0 |
opengl32.dll | 10.0.14393.0 | 10.0.14393.0 |
Windows Server, version 1709 (base image tag 1709
)
DLL File | Min Version | Max Version |
---|---|---|
dsound.dll | 10.0.16299.15 | 10.0.16299.15 |
glu32.dll | 10.0.16299.15 | 10.0.16299.15 |
opengl32.dll | 10.0.16299.15 | 10.0.16299.15 |
Windows Server, version 1803 (base image tag 1803
)
DLL File | Min Version | Max Version |
---|---|---|
dsound.dll | 10.0.17134.1 | 10.0.17134.1 |
glu32.dll | 10.0.17134.1 | 10.0.17134.1 |
opengl32.dll | 10.0.17134.1 | 10.0.17134.1 |