docker 为什么可以跑在 mac os 上呢?

docker 是依赖 Linux 环境的。
win 可以跑 docker 是因为前有 hyper-v,后有 wsl

但是 mac 为什么可以?虽然和 Linux 都是 Unix-like,但是具体的 api 皆是千差万别。

从这篇文章 —— 如何在Docker上运行* BSD操作系统?看到这段话:

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

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

我有一个疑问,这个“Docker实际上在虚拟化的Linux环境中运行”中的 “Linux环境” 是哪里来的?

  • 是 docker 公司搞得
  • 是 apple 公司搞得

请问是哪个?

这个层是以什么形式工作的?类似Rosetta2转义运行?还是什么类似 vmware那种虚拟机什么的?

谁有关于 mac 上为什么可以跑 docker 的更多资料可以供阅读吗?


是的,mac 上跑 docker 的时候,会出现一个虚拟机进程

图片.png

图片.png

阅读 8k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏