Questions regarding Windows Server 1709

I don’t understand why, on Windows Server 2016 Build 16278, I must always use --isolation=hyperv on every command I try. Before I installed this newer version, I was running on the base version of Win2k16, and this was not required. But now, if I fail to provide the --isolation=hyperv switch on the simple hello-world:nanoserver container (which is almost always the first thing run in a new install), I get the error:

Error response from daemon: container ed7a92a1fd69a533eb5b3709499c7779f3dc708ea95c757fc99170e395b6ac22 encountered an error during CreateContainer: failure in a Windows system call: The operating system of the container does not match the operating system of the host.

Now admittedly, this container is based on nanoserver, and build 16278 is based on ServerCore. But if I try the same thing using a straight windows server core image via:

docker run -it microsoft/windowsservercore CMD

I receive the same error. Adding --isolation=hyperv to the command line, does allow the container to start. Likewise when I tried to a docker build using a dockerfile, failure to provide --isolation=hyperv on the command line, resulted in the mismatch error.

When I installed Docker, I followed the instructions from https://docs.docker.com/engine/installation/windows/docker-ee/.

My Docker versions are:
Client:
Version: 17.06.2-ee-5
API version: 1.30
Go version: go1.8.3
Git commit: 508bb92
Built: Thu Nov 2 00:51:36 2017
OS/Arch: windows/amd64

Server:
Version: 17.06.2-ee-5
API version: 1.30 (minimum version 1.24)
Go version: go1.8.3
Git commit: 508bb92
Built: Thu Nov 2 00:54:07 2017
OS/Arch: windows/amd64
Experimental: false

I feel like I am missing something basic. When I read https://blogs.technet.microsoft.com/windowsserver/2017/08/24/sneak-peek-1-windows-server-version-1709/ and wanted to try it, it pointed me to the windows experience blog announcing windows server insider preview build 16237.

Is this different than Windows server 1709? Admittedly when I went to that site, I got build 16278, not 16237, but I figured the more up to date the better.

Similarly, the helpful youtube video from Microsoft Mechanics describing version 1709, indicates that the nanoserver image has been reduced in size from >1 GB to 195 MB. Yet, when I look at the size of the nanoserver I downloaded after the install of the server, the image size is still 1.07GB. I would very much like the smaller version. Where do I find the documentation that instructs me to it? I must be missing something very basic. Any assistance is greatly appreciated.

The Windows container base images are incompatible between different Windows version. If you’re running Windows 1709, you can only run containers based on 1709 base images (unless you use Hyper-V isolation). Details here: https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility

1 Like

Thank you so much. That helped tremendously.