.net 如何制作制作就绪的Angular Dotnet Core Docker应用程序

.net 如何制作制作就绪的Angular Dotnet Core Docker应用程序,.net,angular,docker,.net,Angular,Docker,我们正在尝试制作一个Docker容器,它有一个.Net应用服务器和Angular客户端 该项目的结构是: 报表后端/ -一些默认的.net核心目录/ -棱角的/ 我们已经创建了以下Docker文件 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base # Setup NodeJs RUN apt-get update -qq && \ apt-get install -qq -y wget && \

我们正在尝试制作一个Docker容器,它有一个.Net应用服务器和Angular客户端

该项目的结构是: 报表后端/ -一些默认的.net核心目录/ -棱角的/

我们已经创建了以下Docker文件

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
# Setup NodeJs
RUN apt-get update -qq && \
    apt-get install -qq -y wget && \
    apt-get install -qq -y gnupg2 && \
    wget -qO- https://deb.nodesource.com/setup_8.x | bash - && \
    apt-get install -qq -y build-essential nodejs && \
    apt-get install -qq -y nginx
# End setup

WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.1-sdk AS build
# Setup NodeJs
RUN apt-get update -qq && \
    apt-get install -qq -y wget && \
    apt-get install -qq -y gnupg2 && \
    wget -qO- https://deb.nodesource.com/setup_8.x | bash - && \
    apt-get install -qq -y build-essential nodejs && \
    apt-get install -qq -y nginx
# End setup
WORKDIR /src
COPY ["ReportBackEnd.csproj", "ReportBackEnd/"]
RUN dotnet restore "ReportBackEnd/ReportBackEnd.csproj"

COPY ["angular/package.json", "ReportBackEnd/angular/"]

RUN cd ReportBackEnd/angular \
    && npm i --silent

COPY . ./
WORKDIR /src/ReportBackEnd
RUN dotnet build "ReportBackEnd.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "ReportBackEnd.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "ReportBackEnd.dll"]
从VisualStudio的Docker按钮运行此文件的效果与预期一样

然而,当我们尝试自己构建和运行它时,我们得到:

程序不包含适用于入口点的静态“Main”方法

我们使用的命令是:

docker build -f "C:\<dirs>\ReportBackEnd\Dockerfile" -t core:dev --target base
docker run -dt -p 80:80 core:dev
docker build-f“C:\\ReportBackEnd\Dockerfile”-t核心:dev--目标库
docker运行-dt-p80:80核心:dev