Skip to content

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

License

Notifications You must be signed in to change notification settings

andtii/dotnet-docker

 
 

Repository files navigation

Linux amd64 tags

.NET Core 2.1 Preview 1 tags

Windows Server, version 1709 amd64 tags

.NET Core 2.1 Preview 1 tags

Windows Server 2016 amd64 tags

.NET Core 2.1 Preview 1 tags

Linux arm32 tags

.NET Core 2.1 Preview 1 tags

Note: .NET Core multi-arch tags, such as 2.0-runtime, have been updated to use nanoserver-1709 images if your host is Windows Server 2016 Version 1709 or higher or Windows 10 Fall Creators Update (Version 1709) or higher. You need Docker 17.10 or later to take advantage of these updated tags.

Note: The Docker images in this repo are supported by Microsoft. The arm32v7 images are in preview and have "best effort" support only by the community and .NET Core Team. Please see the arm32 announcement for more details.

Note: Watch dotnet/announcements for Docker-related .NET Core announcements.

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.

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

logo

How to use these Images

Run a simple application within a container

You can quickly try a pre-built sample .NET Core Docker image that uses these images.

Type the following command to run a sample console application with Docker:

docker run --rm microsoft/dotnet-samples

Run a web application within a container

You can quickly try a pre-built sample ASP.NET Core Docker image that uses these images.

Type the following command to run a sample web application with Docker:

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

After the application starts, navigate to http://localhost:8000 in your web browser. You need to navigate to the application via IP address instead of localhost for Windows containers, which is demonstrated in View the ASP.NET Core app in a running container on Windows.

.NET Core Docker Samples

The .NET Core Docker samples show various ways to use .NET Core and Docker together.

Building .NET Core Apps with Docker

Optimizing Container Size

ARM32 / Raspberry Pi

Image variants

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

See Building Docker Images for .NET Core Applications to learn more about the various Docker images and when to use each for them.

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
  2. .NET Core command line tools

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

microsoft/dotnet:<version>-runtime

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

microsoft/dotnet:<version>-runtime-deps

This image contains the operating system with all of the native dependencies needed by .NET Core. This is for self-contained applications.

Related Repos

.NET Core Docker Hub repos:

.NET Framework Docker Hub repos:

License

View license information for the software contained in this image.

The .NET Core Windows images use the same license as the Windows Server 2016 Nano Server base image, as follows:

MICROSOFT SOFTWARE SUPPLEMENTAL LICENSE TERMS

CONTAINER OS IMAGE

Microsoft Corporation (or based on where you live, one of its affiliates) (referenced as “us,” “we,” or “Microsoft”) licenses this Container OS Image supplement to you (“Supplement”). You are licensed to use this Supplement in conjunction with the underlying host operating system software (“Host Software”) solely to assist running the containers feature in the Host Software. The Host Software license terms apply to your use of the Supplement. You may not use it if you do not have a license for the Host Software. You may use this Supplement with each validly licensed copy of the Host Software.

Supported Docker versions

Supported Docker versions: the latest release (down to 1.12.2 on a best-effort basis)

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback

Issues

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

Contributing

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.

Before you start to code, please read the .NET Core contribution guidelines.

Documentation

You can read documentation for .NET Core, including Docker usage in the .NET Core docs. The docs are open source on GitHub. Contributions are welcome!

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 79.3%
  • PowerShell 16.5%
  • Groovy 4.2%