Docker Копирование не удалось с ASP. net Core - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь запустить свое ASP. net Базовое приложение с docker, но по некоторым причинам каждый раз, когда я пытаюсь использовать другой подход с Dockerfile, мне не удается скопировать каталог. Что я делаю неправильно? Я попробовал пошаговое руководство в сети Microsoft, используя свой собственный проект, но безуспешно.

Полученная ошибка cmd:

C:\dev\Dmail\Dmail.API>docker build -t aspnetapp .
Sending build context to Docker daemon  21.79MB
Step 1/18 : FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
 ---> 47da1e9634dc
Step 2/18 : WORKDIR /app
 ---> Using cache
 ---> bf490aa67962
Step 3/18 : EXPOSE 80
 ---> Using cache
 ---> d172deff350a
Step 4/18 : FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
 ---> 4a651b73be3d
Step 5/18 : WORKDIR /src
 ---> Using cache
 ---> c607b7f04e23
Step 6/18 : COPY ["Dmail.API/Dmail.API.csproj", "Dmail.API/"]
COPY failed: stat /var/lib/docker/tmp/docker-builder531905822/Dmail.API/Dmail.API.csproj: no such file or directory

C:\dev\Dmail\Dmail.API>

Вот мой DockerFile:

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

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["Dmail.API/Dmail.API.csproj", "Dmail.API/"]
COPY ["Dmail.Core/Dmail.Core.csproj", "Dmail.Core/"]
COPY ["Dmail.Data/Dmail.Data.csproj", "Dmail.Data/"]
RUN dotnet restore "Dmail.API/Dmail.API.csproj"
COPY . .
WORKDIR "/src/Dmail.API"
RUN dotnet build "Dmail.API.csproj" -c Release -o /app/build

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

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

1 Ответ

0 голосов
/ 25 февраля 2020

Так что после долгого поиска в сети решения мне удалось решить мою проблему. Во-первых, Dockerfile был автоматически сгенерирован Visual Studio, нажав add на проект ASP. net, а затем Docker Support. Visual Studio найти файл внутри проекта. Чтобы решить эту проблему, я переместил файл в том виде, в котором он есть, в папку с решениями, которая предназначена для меня в Dmail. Например, мои файлы были такими: Dmail (решение)

  • Dmail.API (proj)
  • Dmail.Core (proj)
  • Dmail.Data (proj )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...