Docker has a multi-arch feature that microsoft/dotnet-nightly recently started utilizing. The plan is to port this to the official microsoft/dotnet repo shortly. The multi-arch feature allows a single tag to be used across multiple machine configurations. Without this feature each architecture/OS/platform requires a unique tag. For example, the microsoft/dotnet:1.0-runtime tag is based on Debian and microsoft/dotnet:1.0-runtime-nanoserver if based on Nano Server. With multi-arch there will be one common microsoft/dotnet:1.0-runtime tag. If you pull that tag from a Linux container environment you will get the Debian based image whereas if you pull that tag from a Windows container environment you will get the Nano Server based image. This helps provide tag uniformity across Docker environments thus eliminating confusion.
Current microsoft/dotnet tags:
1.0.5-runtime, 1.0-runtime (1.0/debian/runtime/Dockerfile)1.0.5-runtime-nanoserver, 1.0-runtime-nanoserver (1.0/nanoserver/runtime/Dockerfile)1.0.5-runtime-deps, 1.0-runtime-deps (1.0/debian/runtime-deps/Dockerfile)1.0.5-sdk, 1.0-sdk (1.0/debian/sdk/Dockerfile)1.0.5-sdk-nanoserver, 1.0-sdk-nanoserver (1.0/nanoserver/sdk/Dockerfile)1.1.2-runtime, 1.1-runtime, 1-runtime, runtime (1.1/debian/runtime/Dockerfile)1.1.2-runtime-nanoserver, 1.1-runtime-nanoserver, 1-runtime-nanoserver, runtime-nanoserver (1.1/nanoserver/runtime/Dockerfile)1.1.2-runtime-deps, 1.1-runtime-deps, 1-runtime-deps, runtime-deps (1.1/debian/runtime-deps/Dockerfile)1.1.2-sdk, 1.1-sdk, 1-sdk, sdk, latest (1.1/debian/sdk/Dockerfile)1.1.2-sdk-nanoserver, 1.1-sdk-nanoserver, 1-sdk-nanoserver, sdk-nanoserver, nanoserver (1.1/nanoserver/sdk/Dockerfile)2.0.0-preview1-runtime, 2.0-runtime, 2-runtime (2.0/debian/runtime/Dockerfile)2.0.0-preview1-runtime-nanoserver, 2.0-runtime-nanoserver, 2-runtime-nanoserver (2.0/nanoserver/runtime/Dockerfile)2.0.0-preview1-runtime-deps, 2.0-runtime-deps, 2-runtime-deps (2.0/debian/runtime-deps/Dockerfile)2.0.0-preview1-sdk, 2.0-sdk, 2-sdk (2.0/debian/sdk/Dockerfile)2.0.0-preview1-sdk-nanoserver, 2.0-sdk-nanoserver, 2-sdk-nanoserver (2.0/nanoserver/sdk/Dockerfile)New multi-arch microsoft/dotnet-nightly tags:
1.0.5-runtime, 1.0-runtime:1.0.5-runtime-deps, 1.0-runtime-deps:1.0.5-sdk, 1.0-sdk:1.1.2-runtime, 1.1-runtime, 1-runtime, runtime:1.1.2-runtime-deps, 1.1-runtime-deps, 1-runtime-deps, runtime-deps:1.1.2-sdk, 1.1-sdk, 1-sdk, sdk, latest:2.0.0-preview1-runtime, 2.0-runtime, 2-runtime:2.0.0-preview1-runtime-deps, 2.0-runtime-deps, 2-runtime-deps:2.0.0-preview1-sdk, 2.0-sdk, 2-sdk:This change has been in microsoft/dotnet-nightly for a little over a week. If you have feedback please file an issue on the .NET Core Docker GitHub repo.
The tooling to produce multi-arch tags is still evolving. As a result we found it necessary to create some tooling to build the images and produce the manifest that enables multi-arch. This tooling is open sourced as well.
First, thanks to @TerribleDev for remind that it was in the announcement repo, and sorry to all others being spammed. I though I was in the proper repo because the thread wasn't closed. Sorry my bad. (@kendrahavens forgot to lock it 馃槃 )
But in all cases, even being easy to create a Dockerfile, you will eventually get tons of questions asking "how to create a Windows Server Core with .Net Core image?" from newcomers really soon. So I think it don't hurt to have that image published.
Btw, @terribledev, when I mentioned _missing APIs_ I was talking about WIN32 APIs, not .Net ones.
Sorry, folks. Locking the conversation in the announcements repo let's us limit the notifications subscribers get there.
Hey, I was saying that it should be on the list of .Net Core images since it is a valid scenario.
Thank you @galvesribeiro! I agree, we should make it an easy scenario to use. We are working with the VSTS team now to make a full .NET framework "build" image that would have msbuild, .NET Core sdk, and common assembly references to help with the monolithic scenarios you mention.
@TerribleDev This is precisely the scenario we are thinking of. It's good to hear more parties are interested in this.
Most helpful comment
Sorry, folks. Locking the conversation in the announcements repo let's us limit the notifications subscribers get there.
Thank you @galvesribeiro! I agree, we should make it an easy scenario to use. We are working with the VSTS team now to make a full .NET framework "build" image that would have msbuild, .NET Core sdk, and common assembly references to help with the monolithic scenarios you mention.
@TerribleDev This is precisely the scenario we are thinking of. It's good to hear more parties are interested in this.