System requirements for Windows Server 2019

Important notice

Deploying on a Windows Server 2019 server is supported, however, it involves some manual configuration before running the installer. Please also note that there are some differences between deploying on a virtual machine or a host operating system.

Step by step tutorial

A. Optional, only if you’re deploying on a virtual machine in Hyper-V

  1. Ensure that nested virtualization is configured

    1. Stop the virtual machine first and then run the following command on the physical Hyper-V host

      Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
  2. Start back the virtual machine and connect to it

  3. Make sure that the Hyper-V server role is installed

  4. Make sure that the Containers feature is installed

  5. Restart the virtual machine

  6. Ensure that Virtualization is Enabled in Task Manager → Performance → CPU

  7. Proceed with the installation on the VM as described in the section below

B. Mandatory, install required dependencies

Please open a PowerShell terminal and run the following commands:

  1. Force PowerShell to use TSL1.2

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  2. Install the docker module and the docker package from PSGallery

    Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
    Install-Package -Name docker -ProviderName DockerMsftProvider -RequiredVersion 20.10.6
  3. A restart is required for the installation to complete

  4. After the reboot, you will need to add support for Linux Containers on Windows (LCOW)

    [Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
    [Environment]::SetEnvironmentVariable("LCOW_API_PLATFORM_IF_OMITTED", "linux", "Machine")
  5. You also need to enable docker experimental features

    $configfile = @"
    "experimental": true
    $configfile | Out-File -FilePath C:\ProgramData\docker\config\daemon.json -Encoding ascii -Force
  6. Because you restarted the computer earlier, you need to force TLS again

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  7. The next step is to download the Linux containers SDK

    Invoke-WebRequest -Uri "https://github.com/linuxkit/lcow/releases/download/v4.14.35-v0.3.9/release.zip" -UseBasicParsing -OutFile release.zip
    Expand-Archive release.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\."
  8. Restart docker such that these changes take effect

    Restart-Service docker
  9. Now, if you execute docker info you should be able to see LCOW on the storage driver images/download/attachments/4874968/image-20201222-220455.png

    Finally, we need to install docker-compose. To do that, please run the following command:

    Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe
  10. Installation of docker and docker-compose is now completed. You can proceed to install MetaDefender for Secure Storage via the installation wizard.