我是docker的新手,尝试在Windows 10中使用.net核心控制台应用程序创建我的第一个docker镜像/容器,继文章https://www.c-sharpcorner.com/article/getting-started-with-docker-for-windows-containerize-a-c-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
是C:\DotNetCore\ConsoleApp1\ConsoleApp1\bin\Debug\netcoreapp2.1\publish
命令发布内容的文件夹。用于创建图像的命令:
dotnet publish
您可以通过删除docker build -t alphaimage .
源目录中的第一个/
来尝试这个:
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"]
的文件夹,并且dockerfile正在查找名称中包含netcoreapp2.1
的文件夹。
无论是:
更改您的csproj以使用netcoreapp2.0
:
netcoreapp2.0
要么
更新COPY语句以使用netcoreapp2.1
<TargetFramework>netcoreapp2.0</TargetFramework>