您如何 运行 Docker 上的 .exe 文件?

How do you run an .exe file on Docker?

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

Docker 允许您隔离主机上 运行ning 的应用程序,它不会提供与 运行 不同的 OS 那些应用程序(除了a 包含 Linux VM 的客户端产品,因为 Docker 最初是 Linux 唯一的工具)。如果应用程序 运行 在 Linux 上,它通常可以 运行 在容器中。如果应用程序无法在 Linux 上 运行,则它不会 运行 在 Linux 容器内。

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

正如其他答案所说,Docker 没有模拟您需要的整个 Windows OS 运行 可执行文件 'exe' 文件。但是,还有另一个工具可能会执行与您想要的类似的操作:来自 WineHQ 的 "Wine" 应用程序。他们网站的简短摘要:

Wine is a compatibility layer capable of running Windows applications on several operating systems, such as Linux and macOS. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.

(我既没有为 WineHQ 工作,也没有真正使用过它。我只是听说过它,看起来它可能是 运行宁 Windows 轻量级容器内的程序。)