Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for .NET 9 #5983

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
4a1d6b8
Update CONTRIBUTING.md
lbussell Oct 15, 2024
a08df4b
Ubuntu Chiseled images are no longer new
lbussell Oct 15, 2024
52c6bbb
Consolidate and sort 9.0 Bookworm manifest entries
lbussell Oct 15, 2024
9d8baa3
Move .NET latest tags to .NET 9
lbussell Oct 15, 2024
c5454f2
Update IIS sample
lbussell Oct 15, 2024
1f39144
Update release lifecycle checklist
lbussell Oct 15, 2024
53ed915
Update .NET 9 suffix in Featured Tags to standard support
lbussell Oct 15, 2024
1010136
Accept RTM versions for latest tags
lbussell Oct 15, 2024
3588224
Add main repo to nightly repos related readmes (#5984)
lbussell Oct 15, 2024
640fc14
Change chiseled section to distroless and move to image variants
lbussell Oct 21, 2024
eb6ef9c
Update common Docker engineering infrastructure with latest
dotnet-docker-bot Oct 30, 2024
d2b78eb
Update mcr-tags-metadata-templates
lbussell Oct 24, 2024
b0d726e
Enable testing of internal servicing builds (#5928)
NikolaMilosavljevic Oct 10, 2024
6b72250
Pipeline for updating dependencies for testing of internal builds (#6…
NikolaMilosavljevic Oct 24, 2024
6caad3d
Enable testing of internal stable-versioned servicing builds (#6022)
NikolaMilosavljevic Nov 4, 2024
bb4600d
Update Noble Chiseled package tests
lbussell Nov 4, 2024
47d0941
Disable Chisel and Syft updaters
lbussell Nov 4, 2024
cdc15de
Improve latest tag test
lbussell Nov 5, 2024
1de5542
Fix base image for ASP.NET Azure Linux 3.0 `extra` images (#6031)
lbussell Nov 6, 2024
ccb426d
Undocument dotnet/samples arch specific tags (#6029)
lbussell Nov 7, 2024
2676db4
Remove duplicate NuGet.config copy
lbussell Nov 7, 2024
8b917f2
Add globalization scenario test (#6012)
lbussell Oct 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions .github/ISSUE_TEMPLATE/releases/dotnet-release-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,24 @@ Add due dates to each of the issues so that we don't lose track of them.

## GA

- [ ] New .NET version GA tasks (one issue)
- [ ] Move `latest` tags in `manifest.json` to the new version
- [Relevant issue](https://github.com/dotnet/dotnet-docker/issues/2316)
- [ ] Add the new .NET version to the .NET Framework SDK image
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/6a3c9d048f75c1e69c0e1059564cd56a90bf9e3c/eng/dockerfile-templates/sdk/Dockerfile#L56-L59>
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/58a18cf958883c6a67ae888854bd9bb09f085e83/eng/dockerfile-templates/sdk/Dockerfile.ltsc2016#L80-L81>
In this repo:

- [ ] Move `latest` tags in `manifest.json` to the new version
- [ ] Update documentation as necessary to reference the new .NET version
- [ ] Update IIS sample URL to final version of `dotnet-hosting-win.exe` (remove "preview" from the URL): <https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile.windowsservercore-iis#L19>.
- [ ] Remove suffix "(Release Candidate)" from Featured Tags and replace with "(Long-Term Support)" or "(Standard Support)"

In other repos:

- [ ] Add the new .NET version to the .NET Framework SDK image
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/6a3c9d048f75c1e69c0e1059564cd56a90bf9e3c/eng/dockerfile-templates/sdk/Dockerfile#L56-L59>
- [ ] <https://github.com/microsoft/dotnet-framework-docker/blob/58a18cf958883c6a67ae888854bd9bb09f085e83/eng/dockerfile-templates/sdk/Dockerfile.ltsc2016#L80-L81>

Create announcement:
- [ ] Post a new announcement on the [GitHub Discussions page](https://github.com/dotnet/dotnet-docker/discussions/new?category=announcements) page and pin the announcement
- Include new .NET Docker features and breaking changes and defer to other official .NET documentation/announcements for other features
- [Example announcement](https://github.com/dotnet/dotnet-docker/discussions/4995)
- [ ] Update documentation as necessary to reference the new .NET version
- [ ] Update IIS sample URL to final version of `dotnet-hosting-win.exe` (remove "preview" from the URL): <https://github.com/dotnet/dotnet-docker/blob/main/samples/aspnetapp/Dockerfile.windowsservercore-iis#L19>.


## EOL

Expand Down
2 changes: 1 addition & 1 deletion .portal-docs/docker-hub/README.aspire-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ Limits are per-resource. For example, a `MaxLogCount` value of 10,000 configures
* [dotnet/runtime](https://hub.docker.com/r/microsoft/dotnet-runtime/): .NET Runtime
* [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies
* [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-nightly-aspire-dashboard/): .NET Aspire Dashboard (Preview)
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples

.NET Framework:

Expand Down
34 changes: 20 additions & 14 deletions .portal-docs/docker-hub/README.aspnet.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Featured Tags

* `9.0` (Release Candidate)
* `9.0` (Standard Support)
* `docker pull mcr.microsoft.com/dotnet/aspnet:9.0`
* `8.0` (Long-Term Support)
* `docker pull mcr.microsoft.com/dotnet/aspnet:8.0`
Expand All @@ -13,18 +13,6 @@ This image contains the ASP.NET Core and .NET runtimes and libraries and is opti

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

## ASP.NET Core Composite Images

Starting from .NET 8, ASP.NET Core Composite images are optimized for performance using [ReadyToRun (R2R) compilation](https://learn.microsoft.com/dotnet/core/deploying/ready-to-run).
For more information, see the [composite images section in the Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md#composite-net-80).

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand All @@ -50,6 +38,24 @@ See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotn
.NET container images have several variants that offer different combinations of flexibility and deployment size.
The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) 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](https://github.com/dotnet/dotnet-docker/blob/main/documentation/azurelinux.md) and [Ubuntu (Chiseled)](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md).

## ASP.NET Core Composite Images

Starting from .NET 8, ASP.NET Core Composite images are optimized for performance using [ReadyToRun (R2R) compilation](https://learn.microsoft.com/dotnet/core/deploying/ready-to-run).
For more information, see the [composite images section in the Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md#composite-net-80).

# Related Repositories

.NET:
Expand All @@ -60,8 +66,8 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/
* [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies
* [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool
* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): .NET Aspire Dashboard
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/aspnet](https://hub.docker.com/r/microsoft/dotnet-nightly-aspnet/): ASP.NET Core Runtime (Preview)
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples

.NET Framework:

Expand Down
11 changes: 2 additions & 9 deletions .portal-docs/docker-hub/README.monitor-base.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Featured Tags

* `9` (Release Candidate)
* `9` (Standard Support)
* `docker pull mcr.microsoft.com/dotnet/monitor/base:9`
* `8` (Long-Term Support)
* `docker pull mcr.microsoft.com/dotnet/monitor/base:8`
Expand All @@ -13,13 +13,6 @@ This image only provides the base functionality of the .NET Monitor tool; it is

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand All @@ -40,8 +33,8 @@ The following Dockerfiles demonstrate how you can use this base image to build a
* [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies
* [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool
* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): .NET Aspire Dashboard
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/monitor/base](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor-base/): .NET Monitor Base (Preview)
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples

.NET Framework:

Expand Down
11 changes: 2 additions & 9 deletions .portal-docs/docker-hub/README.monitor.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Featured Tags

* `9` (Release Candidate)
* `9` (Standard Support)
* `docker pull mcr.microsoft.com/dotnet/monitor:9`
* `8` (Long-Term Support)
* `docker pull mcr.microsoft.com/dotnet/monitor:8`
Expand All @@ -13,13 +13,6 @@ This image contains .NET Monitor, a diagnostic tool for capturing diagnostic art

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand All @@ -41,8 +34,8 @@ See [documentation](https://go.microsoft.com/fwlink/?linkid=2158052) for how to
* [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies
* [dotnet/monitor/base](https://hub.docker.com/r/microsoft/dotnet-monitor-base/): .NET Monitor Base
* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): .NET Aspire Dashboard
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/monitor](https://hub.docker.com/r/microsoft/dotnet-nightly-monitor/): .NET Monitor Tool (Preview)
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples

.NET Framework:

Expand Down
24 changes: 15 additions & 9 deletions .portal-docs/docker-hub/README.runtime-deps.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Featured Tags

* `9.0` (Release Candidate)
* `9.0` (Standard Support)
* `docker pull mcr.microsoft.com/dotnet/runtime-deps:9.0`
* `8.0` (Long-Term Support)
* `docker pull mcr.microsoft.com/dotnet/runtime-deps:8.0`
Expand All @@ -13,13 +13,6 @@ This image contains the native dependencies needed by .NET. It does not include

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand All @@ -31,6 +24,19 @@ The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samp
.NET container images have several variants that offer different combinations of flexibility and deployment size.
The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) 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](https://github.com/dotnet/dotnet-docker/blob/main/documentation/azurelinux.md) and [Ubuntu (Chiseled)](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md).

# Related Repositories

.NET:
Expand All @@ -41,8 +47,8 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/
* [dotnet/runtime](https://hub.docker.com/r/microsoft/dotnet-runtime/): .NET Runtime
* [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool
* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): .NET Aspire Dashboard
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime-deps/): .NET Runtime Dependencies (Preview)
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples

.NET Framework:

Expand Down
24 changes: 15 additions & 9 deletions .portal-docs/docker-hub/README.runtime.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Featured Tags

* `9.0` (Release Candidate)
* `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`
Expand All @@ -13,13 +13,6 @@ This image contains the .NET runtimes and libraries and is optimized for running

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand All @@ -39,6 +32,19 @@ docker run --rm mcr.microsoft.com/dotnet/samples
.NET container images have several variants that offer different combinations of flexibility and deployment size.
The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) 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](https://github.com/dotnet/dotnet-docker/blob/main/documentation/azurelinux.md) and [Ubuntu (Chiseled)](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md).

# Related Repositories

.NET:
Expand All @@ -49,8 +55,8 @@ The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/
* [dotnet/runtime-deps](https://hub.docker.com/r/microsoft/dotnet-runtime-deps/): .NET Runtime Dependencies
* [dotnet/monitor](https://hub.docker.com/r/microsoft/dotnet-monitor/): .NET Monitor Tool
* [dotnet/aspire-dashboard](https://hub.docker.com/r/microsoft/dotnet-aspire-dashboard/): .NET Aspire Dashboard
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples
* [dotnet/nightly/runtime](https://hub.docker.com/r/microsoft/dotnet-nightly-runtime/): .NET Runtime (Preview)
* [dotnet/samples](https://hub.docker.com/r/microsoft/dotnet-samples/): .NET Samples

.NET Framework:

Expand Down
20 changes: 13 additions & 7 deletions .portal-docs/docker-hub/README.samples.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,6 @@ These images contain sample .NET and ASP.NET Core applications.

Watch [discussions](https://github.com/dotnet/dotnet-docker/discussions/categories/announcements) for Docker-related .NET announcements.

## New: Ubuntu Chiseled Images

Ubuntu Chiseled .NET images are a type of "distroless" container image that contain only the minimal set of packages .NET needs, with everything else removed.
These images offer dramatically smaller deployment sizes and attack surface by including only the minimal set of packages required to run .NET applications.

Please see the [Ubuntu Chiseled + .NET](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md) documentation page for more info.

# Usage

The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. See [Building Docker Images for .NET Applications](https://docs.microsoft.com/dotnet/core/docker/building-net-docker-images) to learn more.
Expand Down Expand Up @@ -55,6 +48,19 @@ See [Hosting ASP.NET Core Images with Docker over HTTPS](https://github.com/dotn
.NET container images have several variants that offer different combinations of flexibility and deployment size.
The [Image Variants documentation](https://github.com/dotnet/dotnet-docker/blob/main/documentation/image-variants.md) 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](https://github.com/dotnet/dotnet-docker/blob/main/documentation/azurelinux.md) and [Ubuntu (Chiseled)](https://github.com/dotnet/dotnet-docker/blob/main/documentation/ubuntu-chiseled.md).

# Related Repositories

.NET:
Expand Down
Loading
Loading