As part of the .NET 5.0 release, all .NET Docker images (including .NET Core 2.1 and 3.1) have transitioned to a new set of Docker repositories described below. Updates will continue to be made to supported tags in the old repository locations for backwards compatibility. Please update any repository references to these new names. For more information see the .NET 5.0 repository rename announcement.
- dotnet/sdk: .NET SDK
- dotnet/aspnet: ASP.NET Core Runtime
- dotnet/runtime: .NET Runtime
- dotnet/runtime-deps: .NET Runtime Dependencies
- dotnet/samples: .NET Samples
.NET is a general purpose development platform maintained by Microsoft and the .NET community on GitHub. It is cross-platform, supporting Windows, macOS and Linux, and can be used in device, cloud, and embedded/IoT scenarios.
.NET has several capabilities that make development easier, including automatic memory management, (runtime) generic types, reflection, asynchrony, concurrency, and native interop. Millions of developers take advantage of these capabilities to efficiently build high-quality applications.
You can use C# or F# to write .NET apps.
- C# is simple, powerful, type-safe, and object-oriented while retaining the expressiveness and elegance of C-style languages. Anyone familiar with C and similar languages will find it straightforward to write in C#.
- F# is a cross-platform, open-source, functional programming language for .NET. It also includes object-oriented and imperative programming.
.NET is open source (MIT and Apache 2 licenses) and was contributed to the .NET Foundation by Microsoft in 2014. It can be freely adopted by individuals and companies, including for personal, academic or commercial purposes. Multiple companies use .NET as part of apps, tools, new platforms and hosting services.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Watch dotnet/announcements for Docker-related .NET announcements.
The .NET Docker samples show various ways to use .NET and Docker together. See Building Docker Images for .NET Applications to learn more.
You can quickly run a container with a pre-built .NET Docker image, based on the .NET console sample.
Type the following command to run a sample console application:
docker run --rm mcr.microsoft.com/dotnet/samples
You can quickly run a container with a pre-built .NET Docker image, based on the ASP.NET Core sample.
Type the following command to run a sample web application:
docker run -it --rm -p 8000:80 --name aspnetcore_sample mcr.microsoft.com/dotnet/samples:aspnetapp
After the application starts, navigate to http://localhost:8000
in your web browser.
See Hosting ASP.NET Core Images with Docker over HTTPS to use HTTPS with this image.
.NET:
- dotnet/samples: .NET Samples
- dotnet/nightly: .NET (Preview)
.NET Framework:
- dotnet/framework: .NET Framework, ASP.NET and WCF
- dotnet/framework/samples: .NET Framework, ASP.NET and WCF Samples
See Microsoft Support for .NET for the support lifecycle.
- We update the supported .NET images within 12 hours of any updates to their base images (e.g. debian:buster-slim, windows/nanoserver:1909, buildpack-deps:bionic-scm, etc.).
- We publish .NET images as part of releasing new versions of .NET including major/minor and servicing.
- Legal Notice: Container License Information
- .NET license
- Discover licensing for Linux image contents
- Windows base image license (only applies to Windows containers)
- Pricing and licensing for Windows Server 2019