/dotnet-docker

This repo contains the base Docker images for working with .NET Core and the .NET Core Tools.

Primary LanguageDockerfileMIT LicenseMIT

Latest Version of Common Tags

The following tags are the latest stable versions of the most commonly used images. The complete set of tags is listed further down.

The .NET Core Docker samples show various ways to use .NET Core and Docker together. See Building Docker Images for .NET Core Applications to learn more.

Watch dotnet/announcements for Docker-related .NET announcements.

Container sample: Run a simple application

Type the following command to run a sample console application:

docker run --rm microsoft/dotnet-samples

Container sample: Run a web application

Type the following command to run a sample web application:

docker run -it --rm -p 8000:80 --name aspnetcore_sample microsoft/dotnet-samples:aspnetapp

After the application starts, navigate to http://localhost:8000 in your web browser. On Windows, you may need to navigate to the container via IP address. See ASP.NET Core apps in Windows Containers for instructions on determining the IP address, using the value of --name that you used in docker run.

See Hosting ASP.NET Core Images with Docker over HTTPS to use HTTPS with this image.

Tags

Linux amd64 tags

.NET Core 2.2 Preview tags

See the complete set of tags.

Windows Server, version 1809 amd64 tags

.NET Core 2.2 Preview tags

See the complete set of tags.

Windows Server, version 1803 amd64 tags

.NET Core 2.2 Preview tags

See the complete set of tags.

Windows Server, version 1709 amd64 tags

.NET Core 2.2 Preview tags

See the complete set of tags.

Windows Server 2016 amd64 tags

.NET Core 2.2 Preview tags

See the complete set of tags.

Linux arm32 tags

.NET Core 2.2 Preview tags

See the complete set of tags.

For more information about these images and their history, please see the relevant Dockerfile. These images are updated via pull requests to the dotnet/dotnet-docker GitHub repo.

What is .NET Core?

.NET Core 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# to write .NET Core 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#.

.NET Core 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 Core 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.

https://docs.microsoft.com/dotnet/core/

logo

.NET Core Docker Samples

The .NET Core Docker samples show various ways to use .NET Core and Docker together. See Building Docker Images for .NET Core Applications to learn more.

Building .NET Core Apps with Docker

Develop .NET Core Apps in a Container

  • Develop .NET Core Applications - This sample shows how to develop, build and test .NET Core applications with Docker without the need to install the .NET Core SDK.
  • Develop ASP.NET Core Applications - This sample shows how to develop and test ASP.NET Core applications with Docker without the need to install the .NET Core SDK.

Optimizing Container Size

ARM32 / Raspberry Pi

Image variants

The microsoft/dotnet images come in different flavors, each designed for a specific use case.

microsoft/dotnet:<version>-sdk

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.

It contains the .NET Core SDK which is comprised of two parts:

  1. .NET Core CLI
  2. .NET Core
  3. ASP.NET Core

Use this image for your development process (developing, building and testing applications).

microsoft/dotnet:<version>-aspnetcore-runtime

This image contains the ASP.NET Core and .NET Core runtimes and libraries and is optimized for running ASP.NET Core apps in production.

microsoft/dotnet:<version>-runtime

This image contains the .NET Core runtimes and libraries and is optimized for running .NET Core apps in production.

microsoft/dotnet:<version>-runtime-deps

This image contains the native dependencies needed by .NET Core. It does not include .NET Core. It is for self-contained applications.

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

Licenses

Related Repos

.NET Core Docker Hub repos:

.NET Framework Docker Hub repos: