Docker - ошибка при попытке создать образ - PullRequest
0 голосов
/ 20 ноября 2018

Я новичок в Docker, пытаюсь создать свой первый образ / контейнер докера с помощью консольного приложения ядра .net в Windows 10, следуя статье https://www.c -sharpcorner.com / article / Getting-Start-with-docker-for-windows-containerize-ac-sharp-console-app /

При создании образа появляется сообщение об ошибке:

COPY /bin/Debug/netcoreapp2.0/publish/ . COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder989987487\bin

Содержимое моего файла Dockerfile:

FROM microsoft/dotnet:2.0.4-runtime-nanoserver-1709 AS base  

WORKDIR /app  
COPY /bin/Debug/netcoreapp2.0/publish/ .  

ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
  • C:\DotNetCore\ConsoleApp1\ConsoleApp1 - это корень моей папки, где я находился над Dockerfile.

  • C:\DotNetCore\ConsoleApp1\ConsoleApp1\bin\Debug\netcoreapp2.1\publish - это папка, в которойсодержимое публикуется командой dotnet publish.

Команда, используемая для создания изображения:

docker build -t alphaimage .

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Вы публикуете в папку с netcoreapp2.1 в названии, а dockerfile ищет папку с netcoreapp2.0 в названии.

EITHER:

Измените свой csprojиспользовать netcoreapp2.0:

<TargetFramework>netcoreapp2.0</TargetFramework>

ИЛИ

Обновите оператор COPY для использования netcoreapp2.1

COPY /bin/Debug/netcoreapp2.1/publish/ .

0 голосов
/ 20 ноября 2018

Вы можете попробовать это, удалив первый / в исходном каталоге COPY:

FROM microsoft/dotnet:2.0.4-runtime-nanoserver-1709 AS base  

WORKDIR /app  
COPY bin/Debug/netcoreapp2.1/publish/ /app  

ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
...