Рассмотрим пример кода приложения dotnet.
У меня есть код приложения, присутствующий на
D:\eshop\DotneteShopOnWeb\src\Web\Application.sln
и у меня есть несколько проектов в Application.sln, таких как Web, API, Test
каждый проект имеет свой собственный Dockerfile, например
D:\eshop\DotneteShopOnWeb\src\Web>Dockerfile
Dockerfile выглядит следующим образом:
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
WORKDIR /app
COPY *.sln .
COPY . .
WORKDIR /app/src/Web
RUN dotnet restore
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS runtime
WORKDIR /app
COPY --from=build /app/src/Web/out ./
ENV ASPNETCORE_ENVIRONMENT Development
ENTRYPOINT ["dotnet", "Web.dll"]
Я выполняю команду docker build
Расположение Dockerfile.
Я также пробовал docker build -t dotnetcore-eshop-mvc-manual -f src/Web/Dockerfile .
от D:\eshop\DotneteShopOnWeb>
Я получаю ошибки в RUN dotnet restore
, так как файл sln не копируется в рабочий каталог.
Пожалуйста, дайте мне знать, какая модификация мне нужна в COPY
для копирования содержимого из предыдущего каталога.