微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 无法在Docker for Windows中运行容器:“系统找不到指定的文件”

我有一个简单的c#控制台应用程序:

static void Main(string[] args)
{
    Console.WriteLine("TESTING!");
    Console.ReadLine();
}

一个DockerFile:

FROM microsoft/windowsservercore
workdir /app
copY /bin/Debug .
ENTRYPOINT ["dotnet","TestApp.exe"]

我已经建立了一个图像:

docker build -f dockerfile -t testapp .

然后我尝试运行它:

docker run testapp

这给出了这个错误

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: 
Error response from daemon: container a728cbed9188640df1d6e2f5c4d75f3ae3faef6162ec978575f9a587ed6546eb encountered an error during CreateProcess: 
failure in a Windows system call: 
The system cannot find the file specified. (0x2) extra info:
{"CommandLine":"dotnet TestApp.exe","WorkingDirectory":"C:\\app","CreateStdInPipe":true,"CreateStdOutPipe":true,"CreateStdErrPipe":true,"ConsoleSize":[0,0]}.

它找不到TestApp.exe吗?

解决方法

首先发布控制台应用程序.
使用下面的docker文件

FROM microsoft/windowsservercore
ADD publish/ /
ENTRYPOINT TestApp.exe

Dockerfile中的第一行使用FROM指令指定基本映像.接下来,文件中的ADD将应用程序资产从发布文件夹复制到容器的根文件夹并最后;设置图像的ENTRYPOINT表明这是容器启动时将运行的命令或应用程序.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐