在windows docker容器中运行exe

在windows docker容器中运行exe,docker,docker-for-windows,Docker,Docker For Windows,我无法在docker中运行windows exe文件。我用CMD[“test.exe”]和交互模式都试过了。在所有情况下,exe立即终止,没有任何错误消息,这使得调试变得困难。有没有人经历过类似的事情?这可能是dll问题吗?exe在主机Win 10系统上运行良好。使用的图像是windowsservercore您可以执行以下操作: docker run -it --rm microsoft/nanoserver powershell 对于以下任一项,您需要Windows Server Core:

我无法在docker中运行windows exe文件。我用CMD[“test.exe”]和交互模式都试过了。在所有情况下,exe立即终止,没有任何错误消息,这使得调试变得困难。有没有人经历过类似的事情?这可能是dll问题吗?exe在主机Win 10系统上运行良好。使用的图像是windowsservercore

您可以执行以下操作:

docker run -it --rm microsoft/nanoserver powershell
对于以下任一项,您需要Windows Server Core:

  • .NET Framework应用程序
  • 应用程序或依赖项的MSI安装程序
  • 32位运行时支持

我在尝试在基于windowsservercore的容器中运行exe时遇到了类似的问题,正如您在案例中所怀疑的,该问题与DLL不存在有关。我曾经在启动时确定我的进程加载了哪些DLL,然后确保所有这些DLL都在容器中可用。在我的例子中,VisualC++ 2015可重新分配,需要在容器内安装图像。

我想运行的exe不是.NET,我没有MSI安装程序。这是一个简单的64位exe。有没有办法按原样运行它?您可以在常规的非docker环境中运行procmon,并确定在启动时加载了什么。然后,通过适当修改docker文件,确保docker容器中也可以使用相同的文件。请解释一下如何使用procmon?文件很差。我已经安装了它,但我看不出我将如何获得所需的信息你有没有得到这个工作?