Skip to content

Latest commit

 

History

History
236 lines (185 loc) · 23.3 KB

README.runtime.md

File metadata and controls

236 lines (185 loc) · 23.3 KB

.NET Runtime

Featured Tags

  • 9.0 (Standard Support)
    • docker pull mcr.microsoft.com/dotnet/runtime:9.0
  • 8.0 (Long-Term Support)
    • docker pull mcr.microsoft.com/dotnet/runtime:8.0
  • 6.0 (Long-Term Support)
    • docker pull mcr.microsoft.com/dotnet/runtime:6.0

About

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

Watch discussions for Docker-related .NET announcements.

Usage

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

Container sample: Run a simple application

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

Image Variants

.NET container images have several variants that offer different combinations of flexibility and deployment size. The Image Variants documentation contains a summary of the image variants and their use-cases.

Distroless images

.NET "distroless" container images contain only the minimal set of packages .NET needs, with everything else removed. Due to their limited set of packages, distroless containers have a minimized security attack surface, smaller deployment sizes, and faster start-up time compared to their non-distroless counterparts. They contain the following features:

  • Minimal set of packages required for .NET applications
  • Non-root user by default
  • No package manager
  • No shell

.NET offers distroless images for Azure Linux and Ubuntu (Chiseled).

Related Repositories

.NET:

.NET Framework:

Full Tag Listing

Linux amd64 Tags

Tags Dockerfile OS Version
9.0.0-bookworm-slim-amd64, 9.0-bookworm-slim-amd64, 9.0.0-bookworm-slim, 9.0-bookworm-slim, 9.0.0, 9.0, latest Dockerfile Debian 12
9.0.0-alpine3.20-amd64, 9.0-alpine3.20-amd64, 9.0-alpine-amd64, 9.0.0-alpine3.20, 9.0-alpine3.20, 9.0-alpine Dockerfile Alpine 3.20
9.0.0-noble-amd64, 9.0-noble-amd64, 9.0.0-noble, 9.0-noble Dockerfile Ubuntu 24.04
9.0.0-noble-chiseled-amd64, 9.0-noble-chiseled-amd64, 9.0.0-noble-chiseled, 9.0-noble-chiseled Dockerfile Ubuntu 24.04
9.0.0-noble-chiseled-extra-amd64, 9.0-noble-chiseled-extra-amd64, 9.0.0-noble-chiseled-extra, 9.0-noble-chiseled-extra Dockerfile Ubuntu 24.04
9.0.0-azurelinux3.0-amd64, 9.0-azurelinux3.0-amd64, 9.0.0-azurelinux3.0, 9.0-azurelinux3.0 Dockerfile Azure Linux 3.0
9.0.0-azurelinux3.0-distroless-amd64, 9.0-azurelinux3.0-distroless-amd64, 9.0.0-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless Dockerfile Azure Linux 3.0
9.0.0-azurelinux3.0-distroless-extra-amd64, 9.0-azurelinux3.0-distroless-extra-amd64, 9.0.0-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra Dockerfile Azure Linux 3.0
8.0.11-bookworm-slim-amd64, 8.0-bookworm-slim-amd64, 8.0.11-bookworm-slim, 8.0-bookworm-slim, 8.0.11, 8.0 Dockerfile Debian 12
8.0.11-alpine3.20-amd64, 8.0-alpine3.20-amd64, 8.0-alpine-amd64, 8.0.11-alpine3.20, 8.0-alpine3.20, 8.0-alpine Dockerfile Alpine 3.20
8.0.11-noble-amd64, 8.0-noble-amd64, 8.0.11-noble, 8.0-noble Dockerfile Ubuntu 24.04
8.0.11-noble-chiseled-amd64, 8.0-noble-chiseled-amd64, 8.0.11-noble-chiseled, 8.0-noble-chiseled Dockerfile Ubuntu 24.04
8.0.11-noble-chiseled-extra-amd64, 8.0-noble-chiseled-extra-amd64, 8.0.11-noble-chiseled-extra, 8.0-noble-chiseled-extra Dockerfile Ubuntu 24.04
8.0.11-jammy-amd64, 8.0-jammy-amd64, 8.0.11-jammy, 8.0-jammy Dockerfile Ubuntu 22.04
8.0.11-jammy-chiseled-amd64, 8.0-jammy-chiseled-amd64, 8.0.11-jammy-chiseled, 8.0-jammy-chiseled Dockerfile Ubuntu 22.04
8.0.11-jammy-chiseled-extra-amd64, 8.0-jammy-chiseled-extra-amd64, 8.0.11-jammy-chiseled-extra, 8.0-jammy-chiseled-extra Dockerfile Ubuntu 22.04
8.0.11-azurelinux3.0-amd64, 8.0-azurelinux3.0-amd64, 8.0.11-azurelinux3.0, 8.0-azurelinux3.0 Dockerfile Azure Linux 3.0
8.0.11-azurelinux3.0-distroless-amd64, 8.0-azurelinux3.0-distroless-amd64, 8.0.11-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless Dockerfile Azure Linux 3.0
8.0.11-azurelinux3.0-distroless-extra-amd64, 8.0-azurelinux3.0-distroless-extra-amd64, 8.0.11-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra Dockerfile Azure Linux 3.0
8.0.11-cbl-mariner2.0-amd64, 8.0-cbl-mariner2.0-amd64, 8.0.11-cbl-mariner2.0, 8.0-cbl-mariner2.0 Dockerfile CBL-Mariner 2.0
8.0.11-cbl-mariner2.0-distroless-amd64, 8.0-cbl-mariner2.0-distroless-amd64, 8.0.11-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless Dockerfile CBL-Mariner 2.0
8.0.11-cbl-mariner2.0-distroless-extra-amd64, 8.0-cbl-mariner2.0-distroless-extra-amd64, 8.0.11-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra Dockerfile CBL-Mariner 2.0
6.0.36-bookworm-slim-amd64, 6.0-bookworm-slim-amd64, 6.0.36-bookworm-slim, 6.0-bookworm-slim Dockerfile Debian 12
6.0.36-bullseye-slim-amd64, 6.0-bullseye-slim-amd64, 6.0.36-bullseye-slim, 6.0-bullseye-slim, 6.0.36, 6.0 Dockerfile Debian 11
6.0.36-alpine3.20-amd64, 6.0-alpine3.20-amd64, 6.0-alpine-amd64, 6.0.36-alpine3.20, 6.0-alpine3.20, 6.0-alpine Dockerfile Alpine 3.20
6.0.36-jammy-amd64, 6.0-jammy-amd64, 6.0.36-jammy, 6.0-jammy Dockerfile Ubuntu 22.04
6.0.36-jammy-chiseled-amd64, 6.0-jammy-chiseled-amd64, 6.0.36-jammy-chiseled, 6.0-jammy-chiseled Dockerfile Ubuntu 22.04
6.0.36-jammy-chiseled-extra-amd64, 6.0-jammy-chiseled-extra-amd64, 6.0.36-jammy-chiseled-extra, 6.0-jammy-chiseled-extra Dockerfile Ubuntu 22.04
6.0.36-focal-amd64, 6.0-focal-amd64, 6.0.36-focal, 6.0-focal Dockerfile Ubuntu 20.04
6.0.36-cbl-mariner2.0-amd64, 6.0-cbl-mariner2.0-amd64, 6.0.36-cbl-mariner2.0, 6.0-cbl-mariner2.0 Dockerfile CBL-Mariner 2.0
6.0.36-cbl-mariner2.0-distroless-amd64, 6.0-cbl-mariner2.0-distroless-amd64, 6.0.36-cbl-mariner2.0-distroless, 6.0-cbl-mariner2.0-distroless Dockerfile CBL-Mariner 2.0

Linux arm64 Tags

Tags Dockerfile OS Version
9.0.0-bookworm-slim-arm64v8, 9.0-bookworm-slim-arm64v8, 9.0.0-bookworm-slim, 9.0-bookworm-slim, 9.0.0, 9.0, latest Dockerfile Debian 12
9.0.0-alpine3.20-arm64v8, 9.0-alpine3.20-arm64v8, 9.0-alpine-arm64v8, 9.0.0-alpine3.20, 9.0-alpine3.20, 9.0-alpine Dockerfile Alpine 3.20
9.0.0-noble-arm64v8, 9.0-noble-arm64v8, 9.0.0-noble, 9.0-noble Dockerfile Ubuntu 24.04
9.0.0-noble-chiseled-arm64v8, 9.0-noble-chiseled-arm64v8, 9.0.0-noble-chiseled, 9.0-noble-chiseled Dockerfile Ubuntu 24.04
9.0.0-noble-chiseled-extra-arm64v8, 9.0-noble-chiseled-extra-arm64v8, 9.0.0-noble-chiseled-extra, 9.0-noble-chiseled-extra Dockerfile Ubuntu 24.04
9.0.0-azurelinux3.0-arm64v8, 9.0-azurelinux3.0-arm64v8, 9.0.0-azurelinux3.0, 9.0-azurelinux3.0 Dockerfile Azure Linux 3.0
9.0.0-azurelinux3.0-distroless-arm64v8, 9.0-azurelinux3.0-distroless-arm64v8, 9.0.0-azurelinux3.0-distroless, 9.0-azurelinux3.0-distroless Dockerfile Azure Linux 3.0
9.0.0-azurelinux3.0-distroless-extra-arm64v8, 9.0-azurelinux3.0-distroless-extra-arm64v8, 9.0.0-azurelinux3.0-distroless-extra, 9.0-azurelinux3.0-distroless-extra Dockerfile Azure Linux 3.0
8.0.11-bookworm-slim-arm64v8, 8.0-bookworm-slim-arm64v8, 8.0.11-bookworm-slim, 8.0-bookworm-slim, 8.0.11, 8.0 Dockerfile Debian 12
8.0.11-alpine3.20-arm64v8, 8.0-alpine3.20-arm64v8, 8.0-alpine-arm64v8, 8.0.11-alpine3.20, 8.0-alpine3.20, 8.0-alpine Dockerfile Alpine 3.20
8.0.11-noble-arm64v8, 8.0-noble-arm64v8, 8.0.11-noble, 8.0-noble Dockerfile Ubuntu 24.04
8.0.11-noble-chiseled-arm64v8, 8.0-noble-chiseled-arm64v8, 8.0.11-noble-chiseled, 8.0-noble-chiseled Dockerfile Ubuntu 24.04
8.0.11-noble-chiseled-extra-arm64v8, 8.0-noble-chiseled-extra-arm64v8, 8.0.11-noble-chiseled-extra, 8.0-noble-chiseled-extra Dockerfile Ubuntu 24.04
8.0.11-jammy-arm64v8, 8.0-jammy-arm64v8, 8.0.11-jammy, 8.0-jammy Dockerfile Ubuntu 22.04
8.0.11-jammy-chiseled-arm64v8, 8.0-jammy-chiseled-arm64v8, 8.0.11-jammy-chiseled, 8.0-jammy-chiseled Dockerfile Ubuntu 22.04
8.0.11-jammy-chiseled-extra-arm64v8, 8.0-jammy-chiseled-extra-arm64v8, 8.0.11-jammy-chiseled-extra, 8.0-jammy-chiseled-extra Dockerfile Ubuntu 22.04
8.0.11-azurelinux3.0-arm64v8, 8.0-azurelinux3.0-arm64v8, 8.0.11-azurelinux3.0, 8.0-azurelinux3.0 Dockerfile Azure Linux 3.0
8.0.11-azurelinux3.0-distroless-arm64v8, 8.0-azurelinux3.0-distroless-arm64v8, 8.0.11-azurelinux3.0-distroless, 8.0-azurelinux3.0-distroless Dockerfile Azure Linux 3.0
8.0.11-azurelinux3.0-distroless-extra-arm64v8, 8.0-azurelinux3.0-distroless-extra-arm64v8, 8.0.11-azurelinux3.0-distroless-extra, 8.0-azurelinux3.0-distroless-extra Dockerfile Azure Linux 3.0
8.0.11-cbl-mariner2.0-arm64v8, 8.0-cbl-mariner2.0-arm64v8, 8.0.11-cbl-mariner2.0, 8.0-cbl-mariner2.0 Dockerfile CBL-Mariner 2.0
8.0.11-cbl-mariner2.0-distroless-arm64v8, 8.0-cbl-mariner2.0-distroless-arm64v8, 8.0.11-cbl-mariner2.0-distroless, 8.0-cbl-mariner2.0-distroless Dockerfile CBL-Mariner 2.0
8.0.11-cbl-mariner2.0-distroless-extra-arm64v8, 8.0-cbl-mariner2.0-distroless-extra-arm64v8, 8.0.11-cbl-mariner2.0-distroless-extra, 8.0-cbl-mariner2.0-distroless-extra Dockerfile CBL-Mariner 2.0
6.0.36-bookworm-slim-arm64v8, 6.0-bookworm-slim-arm64v8, 6.0.36-bookworm-slim, 6.0-bookworm-slim Dockerfile Debian 12
6.0.36-bullseye-slim-arm64v8, 6.0-bullseye-slim-arm64v8, 6.0.36-bullseye-slim, 6.0-bullseye-slim, 6.0.36, 6.0 Dockerfile Debian 11
6.0.36-alpine3.20-arm64v8, 6.0-alpine3.20-arm64v8, 6.0-alpine-arm64v8, 6.0.36-alpine3.20, 6.0-alpine3.20, 6.0-alpine Dockerfile Alpine 3.20
6.0.36-jammy-arm64v8, 6.0-jammy-arm64v8, 6.0.36-jammy, 6.0-jammy Dockerfile Ubuntu 22.04
6.0.36-jammy-chiseled-arm64v8, 6.0-jammy-chiseled-arm64v8, 6.0.36-jammy-chiseled, 6.0-jammy-chiseled Dockerfile Ubuntu 22.04
6.0.36-jammy-chiseled-extra-arm64v8, 6.0-jammy-chiseled-extra-arm64v8, 6.0.36-jammy-chiseled-extra, 6.0-jammy-chiseled-extra Dockerfile Ubuntu 22.04
6.0.36-focal-arm64v8, 6.0-focal-arm64v8, 6.0.36-focal, 6.0-focal Dockerfile Ubuntu 20.04
6.0.36-cbl-mariner2.0-arm64v8, 6.0-cbl-mariner2.0-arm64v8, 6.0.36-cbl-mariner2.0, 6.0-cbl-mariner2.0 Dockerfile CBL-Mariner 2.0
6.0.36-cbl-mariner2.0-distroless-arm64v8, 6.0-cbl-mariner2.0-distroless-arm64v8, 6.0.36-cbl-mariner2.0-distroless, 6.0-cbl-mariner2.0-distroless Dockerfile CBL-Mariner 2.0

Linux arm32 Tags

Tags Dockerfile OS Version
9.0.0-bookworm-slim-arm32v7, 9.0-bookworm-slim-arm32v7, 9.0.0-bookworm-slim, 9.0-bookworm-slim, 9.0.0, 9.0, latest Dockerfile Debian 12
9.0.0-alpine3.20-arm32v7, 9.0-alpine3.20-arm32v7, 9.0-alpine-arm32v7, 9.0.0-alpine3.20, 9.0-alpine3.20, 9.0-alpine Dockerfile Alpine 3.20
9.0.0-noble-arm32v7, 9.0-noble-arm32v7, 9.0.0-noble, 9.0-noble Dockerfile Ubuntu 24.04
9.0.0-noble-chiseled-arm32v7, 9.0-noble-chiseled-arm32v7, 9.0.0-noble-chiseled, 9.0-noble-chiseled Dockerfile Ubuntu 24.04
9.0.0-noble-chiseled-extra-arm32v7, 9.0-noble-chiseled-extra-arm32v7, 9.0.0-noble-chiseled-extra, 9.0-noble-chiseled-extra Dockerfile Ubuntu 24.04
8.0.11-bookworm-slim-arm32v7, 8.0-bookworm-slim-arm32v7, 8.0.11-bookworm-slim, 8.0-bookworm-slim, 8.0.11, 8.0 Dockerfile Debian 12
8.0.11-alpine3.20-arm32v7, 8.0-alpine3.20-arm32v7, 8.0-alpine-arm32v7, 8.0.11-alpine3.20, 8.0-alpine3.20, 8.0-alpine Dockerfile Alpine 3.20
8.0.11-jammy-arm32v7, 8.0-jammy-arm32v7, 8.0.11-jammy, 8.0-jammy Dockerfile Ubuntu 22.04
8.0.11-jammy-chiseled-arm32v7, 8.0-jammy-chiseled-arm32v7, 8.0.11-jammy-chiseled, 8.0-jammy-chiseled Dockerfile Ubuntu 22.04
8.0.11-jammy-chiseled-extra-arm32v7, 8.0-jammy-chiseled-extra-arm32v7, 8.0.11-jammy-chiseled-extra, 8.0-jammy-chiseled-extra Dockerfile Ubuntu 22.04
6.0.36-bookworm-slim-arm32v7, 6.0-bookworm-slim-arm32v7, 6.0.36-bookworm-slim, 6.0-bookworm-slim Dockerfile Debian 12
6.0.36-bullseye-slim-arm32v7, 6.0-bullseye-slim-arm32v7, 6.0.36-bullseye-slim, 6.0-bullseye-slim, 6.0.36, 6.0 Dockerfile Debian 11
6.0.36-alpine3.20-arm32v7, 6.0-alpine3.20-arm32v7, 6.0-alpine-arm32v7, 6.0.36-alpine3.20, 6.0-alpine3.20, 6.0-alpine Dockerfile Alpine 3.20
6.0.36-jammy-arm32v7, 6.0-jammy-arm32v7, 6.0.36-jammy, 6.0-jammy Dockerfile Ubuntu 22.04
6.0.36-jammy-chiseled-arm32v7, 6.0-jammy-chiseled-arm32v7, 6.0.36-jammy-chiseled, 6.0-jammy-chiseled Dockerfile Ubuntu 22.04
6.0.36-jammy-chiseled-extra-arm32v7, 6.0-jammy-chiseled-extra-arm32v7, 6.0.36-jammy-chiseled-extra, 6.0-jammy-chiseled-extra Dockerfile Ubuntu 22.04
6.0.36-focal-arm32v7, 6.0-focal-arm32v7, 6.0.36-focal, 6.0-focal Dockerfile Ubuntu 20.04

Nano Server 2022 amd64 Tags

Tag Dockerfile
9.0.0-nanoserver-ltsc2022, 9.0-nanoserver-ltsc2022 Dockerfile
8.0.11-nanoserver-ltsc2022, 8.0-nanoserver-ltsc2022 Dockerfile
6.0.36-nanoserver-ltsc2022, 6.0-nanoserver-ltsc2022, 6.0.36, 6.0 Dockerfile

Windows Server Core 2022 amd64 Tags

Tag Dockerfile
9.0.0-windowsservercore-ltsc2022, 9.0-windowsservercore-ltsc2022 Dockerfile
8.0.11-windowsservercore-ltsc2022, 8.0-windowsservercore-ltsc2022 Dockerfile
6.0.36-windowsservercore-ltsc2022, 6.0-windowsservercore-ltsc2022 Dockerfile

Nano Server, version 1809 amd64 Tags

Tag Dockerfile
9.0.0-nanoserver-1809, 9.0-nanoserver-1809 Dockerfile
8.0.11-nanoserver-1809, 8.0-nanoserver-1809 Dockerfile
6.0.36-nanoserver-1809, 6.0-nanoserver-1809, 6.0.36, 6.0 Dockerfile

Windows Server Core 2019 amd64 Tags

Tag Dockerfile
9.0.0-windowsservercore-ltsc2019, 9.0-windowsservercore-ltsc2019 Dockerfile
8.0.11-windowsservercore-ltsc2019, 8.0-windowsservercore-ltsc2019 Dockerfile
6.0.36-windowsservercore-ltsc2019, 6.0-windowsservercore-ltsc2019 Dockerfile

Tags not listed in the table above are not supported. See the Supported Tags Policy. See the full list of tags for all supported and unsupported tags.

Support

Lifecycle

Image Update Policy

  • Base Image Updates: Images are re-built within 12 hours of any updates to their base images (e.g. debian:bookworm-slim, windows/nanoserver:ltsc2022, etc.).
  • .NET Releases: Images are re-built as part of releasing new .NET versions. This includes new major versions, minor versions, and servicing releases.
  • Critical CVEs: Images are re-built to pick up critical CVE fixes as described by the CVE Update Policy below.
  • Monthly Re-builds: Images are re-built monthly, typically on the second Tuesday of the month, in order to pick up lower-severity CVE fixes.
  • Out-Of-Band Updates: Images can sometimes be re-built when out-of-band updates are necessary to address critical issues. If this happens, new fixed version tags will be updated according to the Fixed version tags documentation.

CVE Update Policy

.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when:

  • We detect the image contains a CVE with a CVSS score of "Critical"
  • AND the CVE is in a package that is added in our Dockerfile layers (meaning the CVE is in a package we explicitly install or any transitive dependencies of those packages)
  • AND there is a CVE fix for the package available in the affected base image's package repository.

Please refer to the Security Policy and Container Vulnerability Workflow for more detail about what to do when a CVE is encountered in a .NET image.

Feedback

License