THIS IS AN IMPORTANT ANNOUNCEMENT: Microsoft is now publishing .NET Core container images to Microsoft Container Registry (MCR).
Note that Microsoft will continue to maintain Docker Hub repo pages so that you can discover and learn about .NET Core images. The Docker Hub website URLs you’ve used for Microsoft repos will continue to work, and forward to updated locations on Docker Hub.
- Microsoft also made other changes to the images we publish, described in this post.
- You will need to change
FROM statements in
Dockerfile files and
docker pull commands as a result of these changes. 3.0 references need to be changed now. Most 1.x and 2.x usages can be changed over time. The new tag scheme is decribed in this post and are provided at the microsoft-dotnet-core repo, Microsoft new home on Docker Hub.
For more informations, please refer to this post on .NET Blog.
.NET Core 1.0 was released on June 27 2016 and .NET Core 1.1 was released on November 16 2016. As an LTS release, .NET Core 1.0 is supported for 3 years and .NET Core 1.1 fits into the same support timeframe as .NET Core 1.0.
So in short : .NET Core 1.0 and 1.1 will reach end of life and go out of support on June 27, 2019.
After this date of June 27, 2019, .NET Core updates will no longer include updated packages or Docker container images for .NET Core 1.0 and 1.1. But wait, no panic and this is for the best, upgrade from .NET Core 1.x to .NET Core 2.1 or 2.2.
.NET Core 2.1 is a long-term support (LTS) release so makes it your minimum standard for your development, even if I encourage you to use .NET Core 2.2. Why .NET Core 2.1 at least and not .NET Core 2.0 ? Because .NET Core 2.0 has already reached end-of-life, as of October 1, 2018
Upgrade to .NET Core 2.x
The supported upgrade path for .NET Core 1.x applications is via .NET Core 2.1 or 2.2. Instructions for upgrading can be found in the following documents (equally apply to .NET Core 2.1) :
The migration is quick and easy but be sure to bulletproof your application with heavy testing, I already found several minor issues while migrating from 1.1 to 2.1.
Sometimes you want to make a demo to a good friend of you about Docker support in Visual Studio 2017. So your start Visual Studio 2017, create a blank ASP.NET Core (Docker support enabled), press F5 to run the application but things are not really happening like your want. In my case, I had the following message :
The specified framework 'Microsoft.NETCore.App', version '1.1.2' was not found.
- Check application dependencies and target a framework version installed at:
- The following versions are installed:
- Alternatively, install the framework version '1.1.2'.
The issue comes from the fact that Visual Studio 2017 builds a project based on .NET Core 1.1.2 but your Docker image only supports .NET Core 1.1.1 '(see message). Why your image doesn’t support 1.1.2 ? Maybe simply because your image is outdated with no support for 1.1.2. So the trick is quite easy and it consists to execute the pull again the image to force Docker to update the base image :
docker pull microsoft/aspnetcore:1.1
This should solve your issue after several minutes of downloading the updated image layer.