Search notes:

Docker on Windows: Container Base Images

All containers are built on container base images.
Microsoft offers the following container base images
Container Base Image Description
Windows Server Core Traditional .NET Framework applications
Nano Server .NET Core applications
Windows Traditional WinAPI
Windows IoT Core Internet of Things

Installing a container base image

Such a container base image can be installed on a command line.
Note that the version number (:1903, :1809, …) needs to match the host OS version, but see below
Also, Docker needs to be configured to run Windows (as opposed to Linux) containers.
Otherwise, an error message similar to no matching manifest for … in the manifest list entries is thrown.
First attempt: wrong version number:
c:\>  docker pull mcr.microsoft.com/windows/nanoserver:1903
1903: Pulling from windows/nanoserver
no matching manifest for windows/amd64 10.0.17763 in the manifest list entries
Second attempt: fixed version number:
C:\> docker pull mcr.microsoft.com/windows/nanoserver:1809
1809: Pulling from windows/nanoserver
1951f408509b: Already exists
Digest: sha256:0711f47c5bbfbe16448287a2f1fdd6cfcfd6674f2044c1fe4e4a20ef79245dfe
Status: Downloaded newer image for mcr.microsoft.com/windows/nanoserver:1809
c:\>

Host OS version needs to match container OS version

The host OS version needs to match the container OS version because the Windows kernel, unlike Linux's, does not have a stable API. Thus, the container images must have the same syscall-DLLs that the host OS also has.
This is also the reason why Windows images are bigger than Linux images.

Index