Keep in mind, Linux containers work since there&#x27;s only one Linux kernel, and the rest of the OS is just files that can be stuck into the container. Anything that can pretend to be the Linux kernel (like a Solaris &quot;branded zone&quot;) can run a Linux container.<p>But you&#x27;d actually need many different kinds of &quot;Windows container&quot;, since Windows actually has an abundance of kernel-exposed runtimes: the DOS VMM, Win16 with cooperative threading, Win32 with COM, WinNT, WinRT, the POSIX subsystem...<p>You could certainly write a particular container runtime to allow a specific type of app (e.g. WinRT apps) to run, and that might be enough to enable developers going forward to target both Windows and Linux hosts for their Windows apps. But that would hardly be Windows, in the sense of being able to have your app launch arbitrary other &quot;Windows&quot; processes in the same container the way that Docker apps do with arbitrary Linux processes.<p>Having all the machinery to simulate <i>all</i> the vagueries that have changed in the Windows OS core over time, such that one container could contain any and all Windows processes running together, would be a much harder challenge. I don&#x27;t know what the combined surface area of all the runtimes the Windows kernel exposes looks like, but I can&#x27;t imagine it&#x27;d be something even MS could re-implement as a Linux-kernel translation layer easily (especially considering all the compatibility shims each layer provides to make specific apps work, that would have to be carried forward into the translation layer.)