2016-09-15 166 views

回答

5

Docker实际上并没有运行完整的操作系统。所以它不能运行与其主机操作系统使用的内核不同的内核。在Mac上,Docker实际上在虚拟化的Linux环境中运行,所以它的主机环境是Linux。此外,据我所知,Docker依赖Linux特有的功能来完成其基本操作。所以无法使用Mac作为其主机环境来运行它。

所有这些意味着无法将真正的BSD作为Docker镜像运行,这就是为什么Docker没有BSD镜像的原因。

+5

要添加到此答案,如果您需要类似的内容(在单个内核中运行单独的用户空间),它有[Jails](https://www.freebsd.org/doc/handbook/jails.html) 。 – cynic

+3

Docker正在从Linux特定功能抽象出来,依靠[OCI运行时规范](https://github.com/opencontainers/runtime-spec)。 Windows现在拥有一个Docker可以运行Windows容器的OCI实现。 OCI很大程度上依赖于Linux内置的容器功能。 – Matt

+2

另外在技术上可以在[FreeBSD主机](https://wiki.freebsd.org/Docker)上运行[FreeBSD image](https://hub.docker.com/r/lexaguskov/freebsd/),但是这种欺骗首先依赖于FreeBSD的Linux ABI兼容性层。 – Matt

相关问题