Presumably a .NET developer would also acquire knowledge of Docker containerization, something he would have in common with people with recent'ish Linux DevOps experience. I'm just trying to understand the use case here.
I think you're misinterpreted what I was saying.
There are two independent points that I was making.
I'm was not making any statement about what Docker images have already been contributed to Docker Hub. I would venture to guess that, at the moment, 100% of the contributed images create Linux containers, as is the case of the ASP.NET image that you linked to.
My point is that most Windows applications that are candidates to be containerized (in some hypothetical Windows container when Windows, on some future date, has the ability to serve as a guest OS hosting such containers) will be server-side applications targeting the .NET framework and not the Win32 API.
Honest question: Why would I run a .NET application on Windows?
Another thing, ASP.NET being so strongly crossplatform makes it more appealing to the wider dev community.
If this is hard to appreciate, maybe you've always worked in a Microsoft-only shop. This a called systemic bias. It's based on your skillset. Your resume probably has Windows and .NET plastered all over it, companies looking for Linux and Python aren't going to read it, and you might not even apply to such jobs anyway. The point is, places using non-Microsoft stacks will be invisible to you. So maybe the idea that organizations out there not already invested heavily in Microsoft is nonsensical. You = I'm not addressing this to anyone specifically.
But believe me there is a whole universe of places who aren't interested in Microsoft's stuff. Microsoft's sales people and business analysts are likely aware of them. And a big reason is they don't want to be locked into the Windows infrastructure. These kinds of moves might help change their mind, so they will evaluate Microsoft technology on it's merits alone and not what business consequences it can have if you start developing with it. Using .NET wouldn't seem as much of a big no-no if you can be like docker run -it microsoft/aspnet and quickly have a ASP.NET server running on your Linux system. It makes it more likely to be evaluated on simple technical merit, something that .NET has a lot of. That adoption could lead to acquiring more Microsoft products, using Azure, etc.
That's fair, but compute is a highly competitive market. It's much better for the profit margins to have a monopoly, if you can at least.
But then again, Windows Server is not a monopoly and likely never will be. So actually the underdog here is WS, so betting all of Microsoft's future on it by ignoring interoperability with the bigger fish probably wouldn't have been a wise idea. Microsoft does not want the cloud market to be a repeat of the HPC market...
The other thing is this could be some kind of embrace-extend-extinguish strategy, something that worked really well for Microsoft in the past. But I don't see where the extinguish can occur. But you know, that's always a possibility.
Windows containers run apps written in some subset of Win32. Period.
Your point that most apps will be dotnet is irrelevant. You can also run Java apps and node.js apps. Why do you include that as container api? Its not.
It's worth noting that .NET is not tied to Windows at all. It's legit crossplatform, and not just Mono but Microsoft open sourced most of .NET including the compiler and JIT'er at this point. And that ASP.NET container is made by Microsoft themselves, and only supports Linux.
Then they have an IDE that runs on Linux, that has great C# support. Microsoft has also been advertising job openings in various events looking for Linux and FOSS technologies expertise and don't mention Windows at all. I hope you see where this is going. Microsoft is deemphasizing Windows.
Incorrect. Microsoft's official ASP.NET container is dependent on the Mono container which is dependent on Debian. So actually, Microsoft's official containerized ASP.NET release is currently ONLY officially supported by Linux at the moment. :) Which I obviously find amusing.
@androidi: Hack is a newer PHP, hence the ugliness. His comment that wikipedia use it is imporessive. What I don't get is why stick with a PHPish lang when they could move to .net.
RE your comment about rust vs .net, I don't think its fair to compare them. One is a systems language and the other is general purpose one.
MediaWiki is an incredibly complex piece of software with many hundreds of man years of development already. Why rewrite working code? Also people underestimate PHP. It's got closures, classes, optional types, a huge standard library especially suited for web development, etc. The syntax is kind of weird (not much to people who know Perl..). But any curly-brace language looks weird to me these days, C# included.
Hack is a proper superset of PHP too, so it's easier to port a PHP application to Hack.
That's nothing new actually, Docker proper has done this for awhile. The VM is also very lightweight, and the user does not interact directly with it. It allows developers who are using Windows for whatever reason to develop and test Docker containers on their personal machines without having a separate infrastructure. I've actually done this in reverse, which works just as well. Built Docker containers on a GNU/Linux workstation and used them on a Windows machine (b/c demo computer in a conference only ran Windows).