Asp.Net Core在docker构建期间看不到添加到项目的文件

时间:2019-04-10 04:12:47

标签: c# asp.net docker .net-core

我有一个asp.net核心应用程序,在构建时它的wwwroot文件夹内没有任何内容,但是在docker build期间,我有一个阶段编译我的Angular应用程序,然后在以后的阶段将编译后的文件复制到wwwroot文件夹中。当应用程序启动时,我的目录浏览不存在。我可以运行读取目录并查看文件的代码,所以我在这里做错了什么?

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM node:10.15-alpine as webbuild
COPY ["ShareWeb/Angular", "ShareWeb/web"]
WORKDIR /ShareWeb/web
RUN npm install
RUN npm install -g @angular/cli
RUN npm install -g sass
RUN npm rebuild node-sass
RUN ng build --prod


FROM microsoft/dotnet:2.2-sdk AS hostbuild
WORKDIR /src
COPY ["ShareWeb/ShareWeb.csproj", "ShareWeb/"]
RUN dotnet restore "ShareWeb/ShareWeb.csproj"
COPY . .
WORKDIR "/src/ShareWeb"
COPY --from=webbuild ShareWeb/web/dist wwwroot/ # Copies my files in
RUN dotnet build "ShareWeb.csproj" -c Release -o /app


FROM hostbuild AS publish
RUN dotnet publish "ShareWeb.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
RUN rm -r Angular
ENTRYPOINT ["dotnet", "ShareWeb.dll"]

1 个答案:

答案 0 :(得分:0)

在这一行:

  

COPY --from = webbuild ShareWeb / web / dist wwwroot /#复制我的文件

尝试:以/ShareWeb/web/dist作为路径,而不是ShareWeb/web/dist