首页 > 解决方案 > 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"]

标签: docker.net-core

解决方案


控制器位于另一个程序集中(在“Controllers”文件夹中的 startup.cs 旁边)。在 linux 上,我必须使用“services.AddMvc().AddApplicationPart(typeof(somecontrollerclass).Assembly);” 而不是“services.AddMvc();” (两者都在 Windows 上工作)。


推荐阅读