Не удалось скомпилировать SPA NetCore Angular в Windows контейнер Docker EISDIR - PullRequest
0 голосов
/ 20 июня 2020

Я создал приложение Angular ASP. NET Core с Angular 8 и развернул его в контейнере Windows в Docker, добавил файл dockerfile и dockercompose. Однако, когда я запускаю его, я получаю эту ошибку:

Не удалось скомпилировать.

EISDIR: недопустимая операция в каталоге, scandir `C: \ app \ ClientApp \ src \ assets.gitkeep

Мой файл Dockerfile:

# escape=` 
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM mcr.microsoft.com/powershell:nanoserver-1903 AS downloadnodejs
RUN RUN_AS_ADMIN_CMD mkdir -p C:\nodejsfolder
WORKDIR C:\nodejsfolder
SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';$ProgressPreference='silentlyContinue';"]
RUN Invoke-WebRequest -OutFile nodejs.zip -UseBasicParsing "https://nodejs.org/dist/v10.16.3/node-v10.16.3-win-x64.zip"; `
Expand-Archive nodejs.zip -DestinationPath C:\; `
Rename-Item "C:\node-v10.16.3-win-x64" c:\nodejs

RUN Invoke-WebRequest 'https://github.com/git-for-windows/git/releases/download/v2.12.2.windows.2/MinGit-2.12.2.2-64-bit.zip' -OutFile MinGit.zip




FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
COPY --from=downloadnodejs C:\nodejs\ C:\Windows\system32\

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1903 AS build
COPY --from=downloadnodejs C:\nodejs\ C:\Windows\system32\
WORKDIR /src
COPY ["FactorOne/FactorOne.csproj", "FactorOne/"]
COPY ["FactorOne.Services/FactorOne.Services.csproj", "FactorOne.Services/"]
COPY ["FactorOne.UnitOfWork/FactorOne.UnitOfWork.csproj", "FactorOne.UnitOfWork/"]
COPY ["FactorOne.Repository.Interfaces/FactorOne.Repository.Interfaces.csproj", "FactorOne.Repository.Interfaces/"]
COPY ["FactorOne.Models/FactorOne.Models.csproj", "FactorOne.Models/"]
COPY ["FactorOne.Repository/FactorOne.Repository.csproj", "FactorOne.Repository/"]
RUN dotnet restore "FactorOne/FactorOne.csproj"
COPY . .
WORKDIR "/src/FactorOne"
RUN dotnet build "FactorOne.csproj" -c Release -o /app/build

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

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