如何在Docker上运行.exe文件?

如何在Docker上运行.exe文件?,docker,exe,boot2docker,Docker,Exe,Boot2docker,我目前正在努力理解和学习Docker。我有一个app.exe文件,我想通过创建Docker在Linux或OSX上运行它。我在网上搜索过,但我找不到任何允许这样做的东西,而且我对Docker也不太了解,无法尝试即兴创作一些东西。这可能吗?我必须使用Boot2Docker吗?你能给我指一下正确的方向吗?感谢您的帮助。Docker允许您隔离在主机上运行的应用程序,它不提供运行这些应用程序的不同操作系统(除了包含Linux虚拟机的客户端产品,因为Docker最初只是一个Linux专用工具)。如果应用程序

我目前正在努力理解和学习Docker。我有一个app.exe文件,我想通过创建Docker在Linux或OSX上运行它。我在网上搜索过,但我找不到任何允许这样做的东西,而且我对Docker也不太了解,无法尝试即兴创作一些东西。这可能吗?我必须使用Boot2Docker吗?你能给我指一下正确的方向吗?感谢您的帮助。

Docker允许您隔离在主机上运行的应用程序,它不提供运行这些应用程序的不同操作系统(除了包含Linux虚拟机的客户端产品,因为Docker最初只是一个Linux专用工具)。如果应用程序在Linux上运行,它通常可以在容器中运行。如果应用程序不能在Linux上运行,那么它将不会在Linux容器中运行


exe是windows二进制格式。这种二进制格式与Linux不兼容(除非在模拟器或VM中运行)。我不知道有什么简单的方法可以实现你的目标。如果要运行此二进制文件,请跳过Linux上的Docker并在主机上安装Windows VM。

正如其他答案所述,Docker不会模拟运行可执行“exe”文件所需的整个Windows操作系统。然而,还有另一个工具可以做一些类似于你想要的事情:“WineHQ的Wine”应用程序。他们网站上的简短摘要:

Wine是一个能够运行Windows应用程序的兼容层 在一些操作系统上,如Linux和macOS。 而不是像虚拟机那样模拟内部Windows逻辑 机器或模拟器,Wine转换Windows API调用 在运行中,消除了 其他方法,并允许您干净地集成Windows 将应用程序导入桌面


(我不与WineHQ合作,也不为WineHQ工作,也没有实际使用过它。我只听说过它,它似乎是一种在轻量级容器中运行Windows程序的解决方案。)

我想你误解了Docker的概念。原则上,这只是创建虚拟机的另一种形式。在这些系统中,您可以安装任何您喜欢的操作系统,然后可以在该操作系统上运行操作系统支持的任何操作系统(在虚拟化的限制范围内)。因此,本质上,您不能通过docker在linux或osx上运行windows程序?试试@planetmaker docker引擎不会在VM中安装任何操作系统,它是一个隔离在单个内核上运行的应用程序的环境。通常,这是一个Linux内核,但windows本机支持即将到来。Docker确实在其windows和mac安装上使用虚拟机来运行Linux操作系统,Docker引擎可以在该操作系统上运行。是的,thx作为解释