默认情况下,docker for.NET使用哪个web服务器

默认情况下,docker for.NET使用哪个web服务器,docker,.net-core,Docker,.net Core,我遵循的是.NETCore的docker示例。在那里,我按照教程创建了dockerfile。我构建映像并在端口8081:80上成功运行它。因此,我可以看到我的应用程序在localhost:8081上运行。但是我有一些困惑,它是如何运行的,哪个服务器实际上负责运行容器。我在这里有点困惑,因为我不清楚那里发生了什么。任何资源都将不胜感激。谢谢 这是我的文件 FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env WORKDIR /app #

我遵循的是.NETCore的docker示例。在那里,我按照教程创建了dockerfile。我构建映像并在端口8081:80上成功运行它。因此,我可以看到我的应用程序在localhost:8081上运行。但是我有一些困惑,它是如何运行的,哪个服务器实际上负责运行容器。我在这里有点困惑,因为我不清楚那里发生了什么。任何资源都将不胜感激。谢谢

这是我的文件

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等)来覆盖,因此它必须是Kestrel

,您的dockerfile看起来如何?它是基本的。更新问题嗨,看来Kestrel是ASP.NET核心项目模板指定的默认web服务器。请参见:so,mcr.microsoft.com/dotnet/Core/aspnet:3.1此图像具有我假设的Kestrel服务器,用于运行docker.NET容器。如果我错了,请更正,
mcr.microsoft.com/dotnet/core/aspnet:3.1
是由上面的Dockerfile创建的。