Skip to content

Consider switching default port for ASP.NET Core to 8080 or 5000 #3968

Closed
@richlander

Description

@richlander

Currently, the default port for our images is port 80: https://github.com/dotnet/dotnet-docker/blob/main/src/runtime-deps/6.0/jammy/amd64/Dockerfile#L19

It isn't possible for non-root images to bind to port 80 or 443: containerd/containerd#2516. We should consider using only non-root ports so that it is easy to use our assets for both root and non-root scenarios.

There are a few things to consider:

  • Folks will need to update script and manifests that do port mapping. As a result, it's an upgrade-time breaking change.
  • Folks can straightforwardly opt-out by re-setting the ENV to what it is today in their layer.
  • This change would bifurcate our runtime-deps Dockerfiles.
  • 8080 might not be the best port to choose. 5000 might be a much better idea since that's the default port for dev.

Is it worth it? I think so. The motivation is embracing non-root as a key scenario.

I'm thinking that this change is a bit late for .NET 7. It's probably best left until .NET 8 Preview 1.

Related: dotnet/designs#271

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions