如何解决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-
- sdk Dockerfile,基于
- aspnet Dockerfile,基于
- runtime Dockerfile,基于
- runtime-dep Dockerfile(当然是建立在高山图像的基础上)
它们都不安装或配置任何其他Web服务器(Nginx,Apache等)来覆盖default web server of ASP.NET Core,因此它必须是 Kestrel 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。