【发布时间】:2020-07-16 02:18:01
【问题描述】:
我有一个基于分层的应用程序,包括 API、业务、通用、域和基础架构层。 API 层有一个 wwwroot 文件夹,其中包含 Angular 构建内容。
在配置管道的启动时,我启用了 UseStaticFiles()。
当我在本地运行时,使用
donet 观看运行
应用程序运行成功。
接下来,我构建 docker 文件。 docker文件放在.sln所在的目录中。
这里是docker文件的内容。
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
# Copy csproj and restore as distinct layers
COPY *.sln /build/
COPY Admin.Core/*.csproj ./build/Admin.Core/
COPY Admin.Business.Common/*.csproj ./build/Admin.Business.Common/
COPY Admin.Infrastructure/*.csproj ./build/Admin.Infrastructure/
COPY Admin.Business/*.csproj ./build/Admin.Business/
COPY Admin.API/*.csproj ./build/Admin.API/
# COPY *.csproj /build/
RUN dotnet restore ./build/Admin.API/Admin.API.csproj
# Copy everything else and build
COPY . ./build/
WORKDIR /build
RUN dotnet publish ./Admin.API/Admin.API.csproj -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
COPY --from=build /build/out .
ENTRYPOINT ["dotnet", "Admin.API.dll"]
当我构建镜像并在容器中运行时,应用程序运行成功,我可以使用 postman 成功调用 API。但在浏览器中,未加载 wwwroot 内容。 该文件夹存在于容器文件中。 我该如何解决这个问题?
【问题讨论】:
标签: docker .net-core dockerfile