Docker镜像运行Mac OS X安装

44

我正在使用Docker for Mac,希望创建一个运行Mac El Capitan的Docker镜像,并包含我的开发环境。

我没有找到任何相关资源。我只看到了针对Linux的安装指南。

在Linux上,我看到的是这样简单的一些操作:

FROM sciensa2/docker-java8
RUN apt-get update
RUN apt-get install -y wget unzip libgtk2.0-0:amd64 libxtst6

但是,OS X安装和运行其他软件的FROM值将是什么?


3
Docker for Mac 和 Linux Docker 共享相同的镜像,因为 Docker for Mac 实际上在您的计算机上运行一个 Linux 虚拟机。那么您有什么疑虑呢? - Haoming Zhang
2
我不关心主机操作系统。我需要最终的镜像虚拟化一个Mac OSX而不是Linux。 - Vik
2
你是想在 Docker 容器中运行 MacOS 环境吗? - Haoming Zhang
正在进行有关提供至少一定程度的MacOS Docker支持的讨论。 https://github.com/containerd/containerd/discussions/5525 - Webber
4个回答

37

如果您想在Docker容器中使用Mac OS作为基础系统,很遗憾目前无法实现。

Docker容器需要使用主机的Linux内核,因为Mac OS家族是基于Unix的操作系统,目前Docker无法在容器中模拟Mac OS。这里提供一个链接来解释容器如何工作。


18
我认为这个答案不是非常准确或完整。在MacOS主机上,我可以构建一个Ubuntu镜像并运行Ubuntu的Docker容器。那么为什么不能反过来呢? - Alexander Mills
6
在 MacOS 主机上,Ubuntu 并没有真正运行在 MacOS 环境下,而是在 Linux 虚拟机中的 Docker 引擎上运行。你实际上是在 Linux 虚拟机上构建 Ubuntu 镜像。 - Haoming Zhang
9
@LennartRolland 是的,微软已经启用了Windows容器,但是它们必须在使用相同操作系统版本的Windows主机上运行。这是一个不错的开端,希望苹果有一天也能做到类似的事情。 - abd3721
1
@abd3721 现在也可以从 macOS 主机运行 Windows Docker 镜像(参考)。 - Jason R. Coombs
这个答案不再被接受,请参考@birnbaum的答案。 - Daniel Shapero
显示剩余4条评论

28

这将非常好,特别是对于CI服务器:

  1. 你可以在QEMU上运行OSX(类似于VirtualBox,模拟内核)。
  2. 你可以从Docker容器中运行QEMU。我已经在ARM开发中这样做了,效果很好。
  3. 所以,是的,你可以从Docker中运行OSX,但你必须在容器中使用虚拟机来模拟。

18

如果您的主机支持硬件虚拟化(KVM),则现在可以使用Docker-OSX通过OSX-KVM在QEMU/KVM上运行/模拟macOS。


5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接