Don't yet have the karma/streetcred/rep to comment, so I'm writing an answer instead.
First, I don't get why this question is so heavily downvoted, because it's legit and something the docker docs do not straightforwardly answer.
Anyways.
Thanks for taking time to clear up some confusion. So, in the above MS container link, e.g. they say create a Dockerfile and then run "docker build ...". etc. Where exactly is the "docker" application running? On a Windows host? Or on some linux(which flavor/version?) VM that gets created on a windows host? If "docker" is running on a linux VM, then it somehow seems to be able to bypass the linux OS (in the VM) and access the underlying windows OS? Again, I am assuming "docker" is a linux application, and is not a windows port running on a windows host.
In this case, Docker would be a native Windows application (or Windows port), running IIS as a native Windows application.
Think of it like this: the Docker application virtualizes the file system, so that every piece of software that gets installed ends up on this virtual file system. The kernel is not virtualized; so, as other answers said, if you want to transfer a Linux dev environment to a Windows machine, you would need to
run a linux vm on your pc/mac
and then run docker on that vm.
See How is Docker different from a normal virtual machine? for the megathread on Docker de-confusion.
See also http://blog.vizuri.com/docker-for-windows-vs.-docker-on-windows-server which explains the most confusing part of running Docker on Windows. As detailed in the article, you could use Docker on Windows to run Windows containers on Windows, or you could use Docker for Windows to run Linux containers in a Docker-managed Linux vm on windows. The same would be true of Mac ; or indeed, any two incompatible kernels.