在本地docker中运行.exe

时间:2020-06-25 17:03:01

标签: .net docker

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

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

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

我的项目,dockerfile和sln文件都在示例文件夹中

我的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的映像?

谢谢

1 个答案:

答案 0 :(得分:0)

嗨,我对.net不熟悉,但是 执行程序抱怨找不到Sample.exe。您将文件放置在Dockerfile的/ bin / Release目录中。 因此,拥有这一行会更有意义: ENTRYPOINT /bin/Release/Sample.exe

即使基本映像是Windows服务器,目录路径也包含像目录路径一样的unix,所以我认为错误一定是由于我提到的那些原因之一。

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