Docker 在 Mesos OS X 上是原生的吗?

Is Docker native on Mesos OS X?

我注意到您可以在 OS X 上本地安装 Mesos。

上次我查看它时 Docker 不是 OS X 上的本机,那么 Mesos 运行 Docker 容器在 OS X 上如何?是否涉及虚拟机?像 boot2docker?

Mesos 本身做了很多与 Docker 无关的事情:虽然有对容器的支持(参见 http://mesos.apache.org/documentation/latest/docker-containerizer/), there is no direct dependency from Mesos to Docker. When you look at the architecture example (from http://mesos.apache.org/documentation/latest/mesos-architecture/): 你可以看到无论是 master 还是任何奴隶用 Docker 做任何事。

您可以 运行 在 OS X 上本地使用 Mesos 主节点或从节点,但是如果您想在任何从节点上使用 Docker 运行ning Mac OS 你仍然依赖正常的 Mac OS Docker 解决方法(boot2docker 等)。这保持不变(参见 https://docs.docker.com/installation/mac/):

Because the Docker Engine uses Linux-specific kernel features, you'll need to use a lightweight virtual machine (VM) to run it on OS X.

Mesos 在 Linux 上使用带或不带 Docker 的 cgroups,但 OS X 上的 Mesos "containerization" 仅支持 "posix" 隔离,它将启动线程中的任务并监视它是否完成。没有 cgroups 风格的资源隔离,也没有 Docker 图像支持。这不是 "production-recommended" Mesos 设置,但有些人使用它在他们的笔记本电脑上测试 Mesos。

您可以 a) 运行 Mesos 和 Docker 在 linux VM 中获得 cgroups 内核支持,或者 b) 使用 boot2docker 在本地构建您的镜像,然后部署他们到基于 Linux 的 Mesos 集群。

因为 MacOS 是基于 BSD(不是 linux),所以可以创建一个新的基于 FreeBSD jails 的 Mesos 容器化器,但是 Docker 不支持要么坐牢。