Docker hyperv isolation support to run older Windows images


#1

Thanks for preinstalling Docker on your Windows build agents! Docker Captains approved :whale: :smile:

Currently only Windows Server, version 1803 is supported. Which is a fine starting point.

Are there plans to provide a broader range of OS versions?
Do you plan to add Hyper-V support to run containers in hyperv isolatation?

When someone wants to provide Windows images for all Windows versions (2016, 1709, 1803, 1809 or 2019) there would be two ways:

  1. use the latests Windows Server OS (this would be 2019 or 1809) and build all image variants from here. This would require Hyper-V to build and run older Windows images (2016, 1709, 1803) on the Windows Server 2019 host.

  2. provide all Windows Server machines and create a build matrix for 2016, 1709, 1803, 2019. Can we run a step after that matrix to create a manifest-list with docker manifest create or the manifest-tool?

I’ve tried to run older images with hyperv isolation, but this build https://travis-ci.org/StefanScherer/travis-windows-test/builds/477697367 shows me that Hyper-V is not installed.

My .travis.yml for that build is

os: windows
language: bash
services: docker

script:
  - docker version
  - docker images
  - docker info
  - docker run mcr.microsoft.com/windows/nanoserver:1803 ipconfig
  - docker run --isolation hyperv mcr.microsoft.com/windows/nanoserver:1709 ipconfig
  - docker run --isolation hyperv mcr.microsoft.com/windows/nanoserver:sac2016 ipconfig