Trying to keep track of Windows licensing compliance across multiple versions and deployment models is confusing enough as it is. Different sources will give different answers to the same questions when interpreting licensing scenarios, and you can never know unless you get audited (?)
1.) Containers are not available on desktop SKUs. So there is no licensing consideration for Windows 10. If they later add containers to Windows 10, then they'll release licensing rules at that time.
2.) If you are running a server OS for your desktop, then the licensing is pretty clear. Hyper-v VM containers follow the same rules as normal hyper-v VMs (1 physical + 2 virtual for standard then each additional VM requires a license, unlimited for datacenter). For Windows Server Containers (which are not hyper-v based), it's even easier, it's unlimited regardless of edition.
3.) As always, the host OS must be licensed fully in order to have the appropriate rights (2016 is moving to core licensing, with a minimum of 8 core licenses per processor, and a minimum of 2 processors).
All in all, it's one of the easier features to understand the licensing for since it doesn't directly deal with CALs or internal/external usage rights.
1.) Containers are available on both desktops and servers because they're fundamentally the same OS (but with different sets of packages installed by default).
2.) As always, the server and desktop versions of Ubuntu available for unlimited use with zero licensing costs. Completely free.
I'd also like to add that the "base" Windows Server container image is 9.3 gigabytes while the base Ubuntu container image is 120 megabytes. Put it all together and you wind up with vastly greater costs to run Docker containers on Windows.
Having said that, if your application only runs on Windows then putting inside a container might not be a bad idea.
As for the size, I have the feeling that people that are going to run windows containers as a herd are going to opt for the nano image which is 793.3 MB. Still about 6.5 times larger than the ubuntu container image you mention, but 11.5 times smaller than the servercore container image. Particularly since the nano image is focused towards individual roles (IIS, dns, etc) which work well with the 1 task per container philosophy.
All in all, I'm not sure what the value is in comparing the two solutions (that isn't already covered in the Linux vs Windows threads). You can't run Linux containers on Windows, and you can't run Windows containers on Linux (without running an actual virtualized workload). So it seems pretty clear that you choose Windows if you have Windows servers to containerize, and Linux if you have Linux servers to containerize.
I would assume that also applies to VMs or containers.