首页 > 解决方案 > 在 Rasperry Pi 上 dockerize .net core mvc 应用程序后 wwwroot 文件夹中没有静态文件

问题描述

我是 docker 新手,遇到一个无法处理的问题。我创建了 .net 核心 MVC 应用程序,这个应用程序应该可以在树莓派上运行,所以我在 HypriotOS 上的树莓派上对我的应用程序进行了 docker 化,一切都很好,但是没有找到来自 wwwroot(默认静态文件夹)的一些图像(404)。在 wwwroot 文件夹中,我有一些 css、js 和图像文件,并且 css、js 和一些图像可用,但没有几个 .png 文件。我不知道为什么。

我的 Dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# copy everything else and build app
COPY . ./
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime
WORKDIR /app
COPY --from=build /app/out .
ENTRYPOINT ["dotnet", "TestApp.dll"]

构建和运行 Docker 镜像的命令:

docker build -t testapp .
docker run  -p 8080:80 --name testapp testapp

Dockerize 正确通过,没有错误。该应用程序可从外部访问,一切正常,但未显示某些图形(404 Not Found)。

标签: c#asp.netdockerasp.net-coreraspberry-pi

解决方案


检查您的 .dockerignore 文件是否有任何可能与丢失的文件/路径匹配的内容。这就是为我解决这个问题的原因。


推荐阅读