Whatever you have been experiencing is CORRECT. The two variants of Windows Base images are as follows:
- microsoft/windowsservercore – basically windows server, .Net 4.5,
9.3 Gigs, large, fully compatible, support Windows existing app
- microsoft/nanoserver – very smaller, ~600MB, no graphic stack, fast,
smaller API surface, existing application mighn’t be compatible, less
memory
Talking about your next question “why would someone deploy an image that is 9GB in size and rather not choose VM over it.” - Though Windows Docker Engine is quite young and ofcourse bulky, but I believe Microsoft & Docker Inc. are looking at this problem statement, there is still an option of “Nano Server” which looks quite lightweight and the community can target that as their base image. Comparing it with VM, Docker containers saves lot of your time in packaging your application. Have a look at dockerized ASP.Net/ IIS/ image2docker etc. and you will realize that its far more better than moving your HUGE time-consuming VMDK across the cluster of nodes. I believe that Windows Docker Engine will get matured over time and we will definitely see it growing lightweight in the near future.