首页 > 解决方案 > 在 docker 本地运行 .exe

问题描述

我有一个非常小的 .net 控制台应用程序,

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

路径结构是这样的 C:\Kubernetes\src\Sample\bin\Release\debug

我的项目,dockerfile和sln文件都在sample文件夹里面

我的 dockerfile 看起来像这样,

FROM mcr.microsoft.com/windows/servercore:ltsc2016
ADD . /bin/Release
ENTRYPOINT Sample.exe

我使用以下命令成功构建了映像,

docker build . -t samplekube:local

当我尝试在本地运行图像时

docker run samplekube:local

我收到以下错误,

'Sample.exe' is not recognized as an internal or external command,
operable program or batch file.

如何在本地测试 docker 中包含 .exe 的图像?

谢谢

标签: .netdocker

解决方案


嗨,我不熟悉 .net,但 Execution 抱怨找不到 Sample.exe。您将文件放在 Dockerfile 的 /bin/Release 目录中。所以有这行会更有意义:ENTRYPOINT /bin/Release/Sample.exe

即使基本映像是 Windows 服务器,目录路径也包含类似 unix 的目录路径,所以我认为错误一定来自我提到的那些事情之一。

我建议你在入口点执行shell进入容器并找到文件的位置


推荐阅读