NET的docker默认使用什么Web服务器

问题描述

我正在跟踪.NET Core的示例docker。在那里,我按照教程创建了dockerfile。我建立映像并成功在端口8081:80上运行它。所以我可以看到我的应用程序在localhost:8081上运行。但是我在那里有些困惑,它是如何运行的,哪个服务器实际上负责运行容器。我在这里有点困惑,因为我没有那里发生的一切的清晰画面。任何资源将不胜感激。谢谢。

这是我的dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
workdir /app

# copy csproj and restore as distinct layers
copY *.csproj ./
RUN dotnet restore

# copy everything else and build
copY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
workdir /app
copY --from=build-env /app/out .
ENTRYPOINT ["dotnet","aspnetapp.dll"]

解决方法

通过查看源Dockerfile-

它们都不安装或配置任何其他Web服务器(Nginx,Apache等)来覆盖default web server of ASP.NET Core,因此它必须是 Kestrel