Mac OS X 可以在 Docker 中运行吗?

sim*_*one 108 mac-osx docker

Mac OS X 可以在 Docker 中运行吗?如果是这样,有什么建议吗?

它会无头运行,还是有可能远程连接到 GUI?

pho*_*bus 59

Docker 提供了管理操作系统级容器的方法,并建立在 Linux 的操作系统级容器化本机功能之上。在一个系统上运行的所有容器共享同一个内核;Mac OS X 不使用 Linux 内核,而是使用了 mach 内核,因此目前无法在 Docker 容器中运行。

您可以使用虚拟机Mac运行 Docker ,但在该实例上运行的容器需要运行 Linux。

既然 Docker 使用 libcontainer 而不是 LXC 作为其基础,那么将来移植 libcontainer 可能有朝一日允许在这些系统上分别运行 Windows 和 Mac OS Docker 容器,但这将取决于可用的适当操作系统功能允许容器化。

  • `所以 [Mac] 目前无法在 Docker 容器内运行。` <-- 现在有任何更新吗?还是我们仍然仅限于纯 Linux 应用程序? (18认同)
  • 如今(2017 年 1 月)docker 在 windows 平台上运行,并且能够运行基于 windows 或 linux 内核的映像,但不能同时运行两者 (8认同)
  • 问题是关于在虚拟环境中运行 MacOS。问题是 * 不是 * MacOS 是否可以运行 Docker。 (8认同)

小智 31

在 Docker 容器中运行 OSX VM 是可能的。例如,查看https://github.com/Cleafy/sxkdvm

  • 在容器内运行虚拟机似乎有点缺少容器的意义...... (17认同)
  • 如果您想使用 docker 的许多可用工具来编排 OSX 机器,这是有道理的。例如用于 CI 目的。 (4认同)
  • 同意。这是一项令人印象深刻的成就,但这样做的优势几乎为零。 (2认同)

cub*_*l42 6

如果您想直接在 Docker 中运行 macOS,答案是否定的,请参阅 @phoebus 的答案

如果您真的需要它,请参阅@Andrea Brancaleon 的答案,该答案建议在 Docker 内的 VM 内安装 macOS。

但是,如果您想知道根据 macOS 的许可证上述解决方案是否可行,那么答案再次是否定的

引用macOS Catalina 的软件许可协议,第 2 节,B 点:

[...] you are granted a limited, non-transferable, non-exclusive license: [...]
(iii) to install, use and run up to two (2) additional copies or instances of the Apple Software
within virtual operating system environments on each Mac Computer you own or control that is
already running the Apple Software, for purposes of: (a) software development; (b) testing during
software development; (c) using macOS Server; or (d) personal, non-commercial use.
Run Code Online (Sandbox Code Playgroud)

对于较旧的 macOS 版本也是如此。


* 除非您要在 Mac 硬件上的 macOS 主机系统上的 Linux 虚拟机内的 Linux Docker 容器内的虚拟机内运行 macOS