.Net 核心 Angular 应用程序 运行 在 Docker Windows 容器中

.Net core Angular app running in a Docker Windows container

我正在尝试使用 Azure Pipeline 在 Docker 中构建 .net core 3.1 Angular 应用程序。这是我的 Docker 文件:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
     
RUN echo "Downloading NodeJS ..." && \
    curl "https://nodejs.org/dist/v12.10.0/node-v12.10.0-win-x64.zip" --output nodejs.zip && \
    echo "Expanding NodeJS ..." && \
    tar -xvf nodejs.zip -C "C:\" 

RUN CD "C:\node-v12.10.0-win-x64" && \
    ECHO "npm install ..." && \
    npm install

CMD ["npm","start"]

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build

WORKDIR /src

COPY ["WebUI/WebUI.csproj", "WebUI/"]
RUN dotnet restore "WebUI/WebUI.csproj"
COPY . .
WORKDIR "/src/WebUI"
RUN dotnet build "WebUI.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebUI.dll"]

我收到错误:

C:\src\WebUI\WebUI.csproj(134,5): error MSB3073: The command "npm install" exited with code 9009.

如何正确安装 Node.js?

尝试替换

CMD ["npm","start"]

通过这个 :

RUN setx path "%path%;C:\node-v12.10.0-win-x64"