我有一个非常小的.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的映像?
谢谢
答案 0 :(得分:0)
嗨,我对.net不熟悉,但是 执行程序抱怨找不到Sample.exe。您将文件放置在Dockerfile的/ bin / Release目录中。 因此,拥有这一行会更有意义: ENTRYPOINT /bin/Release/Sample.exe
即使基本映像是Windows服务器,目录路径也包含像目录路径一样的unix,所以我认为错误一定是由于我提到的那些原因之一。
我建议您在入口点执行shell以进入容器并找到文件的位置