#.net #docker #dockerfile
#.net #docker #dockerfile
Вопрос:
Я не понимаю, в чем именно проблема. Я пытаюсь настроить свое веб-приложение orchard. Но у меня всегда возникает проблема отсутствия такого файла или каталога, но когда я пытаюсь войти в этот каталог, я могу четко видеть мой .csproj Вот мой dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
RUN mkdir p FGIC.WebCMS
COPY FGIC.WebCMS/FGIC.WebCMS.csproj FGIC.WebCMS/.
RUN dotnet restore FGIC.WebCMS/FGIC.WebCMS.csproj
COPY . .
RUN ls -al /src
RUN ls -al /src/FGIC.WebCMS
WORKDIR /src/FGIC.WebCMS
RUN dotnet build FGIC.WebCMS.csproj -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "/src/." -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "FGIC.WebCMS.dll"]
Это ошибка, которая появляется на уровне построения образа docker
WebCompiler: Begin compiling compilerconfig.json
WebCompiler installing updated versions of the compilers...
/root/.nuget/packages/buildwebcompiler/1.12.394/build/BuildWebCompiler.targets(12,9): error : No such file or directory [/src/FGIC.WebCMS/FGIC.WebCMS.csproj]
Build FAILED.
/root/.nuget/packages/buildwebcompiler/1.12.394/build /BuildWebCompiler.targets(12,9): error : No such file or directory [/src/FGIC.WebCMS/FGIC.WebCMS.csproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:06.37
The command '/bin/sh -c dotnet build FGIC.WebCMS.csproj -c Release -o /app/build' returned a non-zero code: 1
И это структура моей папки приложения:
|-- Dockerfile
|--FGIC.sln
|--FGIC.WebCMS/ --|FGIC.WebCMS/FGIC.WebCMS.csproj
--| other files of the project
Комментарии:
1. можете ли вы проверить разрешение на доступ к файлу?
2. это права доступа к моему файлу csproj: -rw-rw-r—
3. @SKos я дал все разрешения, но он показывает мне ту же ошибку
Ответ №1:
Это была проблема в файле csproj. Он содержит эту строку:
<PackageReference Include="BuildWebCompiler" Version="1.12.394" />
Итак, после удаления этой строки все работает правильно.
Ответ №2:
Не могли бы вы попробовать это во второй части, пожалуйста? Похоже, проблема с каталогом.
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /src
COPY . .
RUN dotnet restore FGIC.WebCMS/FGIC.WebCMS.csproj
RUN ls -al /FGIC.WebCMS
RUN dotnet build FGIC.WebCMS/FGIC.WebCMS.csproj -c Release -o /app/build
Комментарии:
1. Я попробовал это, но это не удается с той же ошибкой