dotnet / dotnet/announcements

Debian Jessie End of Life -- Impact on .NET Core Docker Images

Open
#78 0 comments 0 reactions 0 assignees View on GitHub
.NET Core 1.1 .NET Core 2.0 .NET Core 2.1 Docker EOL Linux
Dominant language
No language data
Stars
1.4k
Forks
53
PR merge metrics
No merged PRs in 30d

Description

# Debian Jessie End of Life -- Impact on .NET Core Docker Images

Debian Jessie (AKA Debian 8) is now [out of support](https://lists.debian.org/debian-security-announce/2018/msg00132.html). Debian Jessie is no longer a supported operating system for .NET Core. Docker users need to switch to Debian Stretch-based (AKA Debian 9) images to stay in support.

## Discussion

Please share your thoughts on this change and see what others are saying at:

* [dotnet/dotnet-docker #647](https://github.com/dotnet/dotnet-docker/issues/647)

## Context

Jessie-based images are currently provided for .NET Core 1.0, 1.1 and 2.0. .NET Core 1.0 and 1.1 expose multi-arch tags, such as `1.0-runtime` and `1.1-sdk`, that support Debian Jessie. When pulled for a Linux Docker daemon (on Linux or Windows), these tags pull Jessie-based images. .NET Core 2.0 supports Jessie, but it is not the default. .NET Core 2.0 multi-arch tags, such as `2.0-runtime` and `2.0-sdk`, pull Debian Stretch-based images, when pulled for a Linux Docker daemon. We made a conscious decision with .NET Core 2.0 to move off of Jessie as the default to avoid this problem, based the Jessie 2018 EOL date. .NET Core 2.1 does not support Jessie, only Stretch.

We recently posted about our policy for underlying operating system dependencies with Docker:

> For each major and minor .NET version, we may take a new major operating system version dependency. As I mentioned earlier, we adopted Debian 9 as the base image for .NET Core 2.0. We stayed with Debian 9 for .NET Core 2.1, since Debian 10 (AKA “Buster”) has not been released. Debian 9 will remain the default base image for .NET Core 2.1 for the life of .NET Core 2.1. **Once we adopt an underlying operating system major version, we will not change it for the life of that given .NET release.**

Source: https://blogs.msdn.microsoft.com/dotnet/2018/06/18/staying-up-to-date-with-net-container-images/

## Plan

We will continue to re-build .NET Core 1.0 and 1.1 multi-arch tags on top of Jessie for the remaining [supported lifetime of .NET Core 1.0 and 1.1](https://github.com/dotnet/core/blob/master/microsoft-support.md). We will also provide a Stretch-based image for .NET Core 1.1. This tag will look like the following: `1.1-runtime-stretch` or `1.1.9-sdk-stretch`. This is same format that Jessie has used.

We will produce Jessie-based images for NET Core 2.0 until October 2018, which is when [.NET Core 2.0 support ends](https://github.com/dotnet/core/blob/master/microsoft-support.md). .NET Core 2.0 multi-arch tags support Debian Stretch, not Jessie, as described above.

In summary, .NET Core is no longer supported on Debian Jessie, with Docker or otherwise. We will produce Docker images for Jessie until .NET Core 1.0, 1.1 and 2.0 support ends, respectively, to avoid breaking applications. This aligns with the policy defined above, per [Staying up-to-date with .NET Container Images](https://blogs.msdn.microsoft.com/dotnet/2018/06/18/staying-up-to-date-with-net-container-images/).

## Affected Repos

* [microsoft/dotnet](https://hub.docker.com/r/microsoft/dotnet/)
* [microsoft/dotnet-nightly](https://hub.docker.com/r/microsoft/dotnet-nightly/)
* [microsoft/aspnetcore](https://hub.docker.com/r/microsoft/aspnetcore/)
* [microsoft/aspnetcore-build](https://hub.docker.com/r/microsoft/aspnetcore-build/)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.