docker - Docker Alpine dotnet Core 2.2 Console App 每个响应内容长度 0
问题描述
我正在尝试在 Alpine .net Core Docker 映像中运行 dotnet Core 2.2 控制台应用程序。
在我的 Windows 计算机上,应用程序正在运行 - 在 docker 容器上它也在运行,但每个响应都是状态 200,内容为空。
容器日志看起来不错。
这是我的 DockerFile:
#FROM mcr.microsoft.com/dotnet/core/runtime:2.2-alpine as base
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine as base
WORKDIR /app
EXPOSE 11007
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine as builder
COPY . /app
WORKDIR /app/Common
RUN ["dotnet", "restore"]
WORKDIR /app/DataAccess
RUN ["dotnet", "restore"]
WORKDIR /app/ERPSystem
RUN ["dotnet", "restore"]
WORKDIR /app/GlobalLibrary
RUN ["dotnet", "restore"]
WORKDIR /app/Hoster
RUN ["dotnet", "restore"]
WORKDIR /app/Model
RUN ["dotnet", "restore"]
WORKDIR /app/Service
RUN ["dotnet", "restore"]
WORKDIR /app/Hoster
#RUN ["dotnet", "build"]
RUN dotnet build -c Debug -o /result
FROM builder AS publish
RUN dotnet publish -c Debug -o /result
FROM base AS final
COPY ["settings.json", "/usr/share"]
WORKDIR /app
COPY --from=publish /result .
ENTRYPOINT ["dotnet", "Hoster.dll"]
解决方案
控制器位于另一个程序集中(在“Controllers”文件夹中的 startup.cs 旁边)。在 linux 上,我必须使用“services.AddMvc().AddApplicationPart(typeof(somecontrollerclass).Assembly);” 而不是“services.AddMvc();” (两者都在 Windows 上工作)。
推荐阅读
- amazon-web-services - Terraform 0.9.6 远程配置已过时
- asp.net - 为什么在 IIS 8.5 fcnMode="Disabled" 中不起作用 - 对 web.config 的任何编辑都会导致应用程序回收?
- maven - 使用 Fabric8 部署 Java 项目
- python - 从一堆选定的 excel 表中绘制图表
- python - 将元素列表获取到单独的数组中
- python - 每个成员仅出现一次的成对组合组
- javascript - 有没有办法改变轴标签?
- javascript - 无法向网页显示 API 调用结果
- ios - 滑动幻灯片并移动 imageView 位置
- python - 使用 kivy 和 python 返回屏幕管理器时未设置焦点