【问题标题】:Run exe inside windows docker container在 windows docker 容器中运行 exe
【发布时间】:2018-12-07 20:44:04
【问题描述】:

我无法在 docker 中运行 Windows exe 文件。我已经尝试过使用 CMD ["test.exe"] 和交互模式。在所有情况下,exe 都会立即终止而没有任何错误消息,这使得调试变得困难。有没有人经历过类似的事情?会不会是dll问题?该exe在主机Win 10系统上完美运行。使用的图像是 windowsservercore

【问题讨论】:

  • 你有没有得到这个工作?

标签: docker docker-for-windows


【解决方案1】:

我在尝试在基于 windowsservercore 的容器中运行 exe 时遇到了类似的问题,就像您怀疑的那样,问题与不存在的 dll 有关。我使用procmon 来识别我的进程在启动时加载了哪些 dll,然后确保所有这些 dll 在容器内都可用。在我的例子中,它是一个 Visual C++ 2015 可再发行组件,需要在构建映像时安装在容器内。

【讨论】:

  • 您在常规的非 docker 环境中运行 procmon 并确定启动时加载的内容。然后通过适当地修改 Dockerfile 来确保在 docker 容器中提供相同的内容。
  • 你能解释一下你是如何使用procmon的吗?文档很差。我已经安装了它,但我看不到如何获得所需的信息
【解决方案2】:

你可以这样做:

docker run -it --rm microsoft/nanoserver powershell

对于以下任何一项,您都需要 Windows Server Core:

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

【讨论】:

  • 我要运行的 exe 不是 .NET,我没有它的 msi 安装程序。这是一个简单的 64 位 exe。有没有办法按原样运行它?
猜你喜欢
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 1970-01-01
  • 2017-02-01
  • 2020-12-27
  • 1970-01-01
相关资源
最近更新 更多