mac、win 下有类似 cgroup、namespace 这些api吗?

mac、win 下有类似 cgroup、namespace 这些api吗

比如我要仿照 docker 做一个『应用容器引擎』,想做到三平台通吃的话,需要在 win、mac 下调用为什么 api 呢?

因为好像 cgroup、namespace 是 linux 特有的。mac、win 的 cgroup、namespace 平替是什么呢?

阅读 4k
2 个回答

是的,类似cgroup和namespace这些Linux中的容器技术,在Mac和Windows平台也有相应的API和工具,尽管它们可能有所不同。

在MacOS平台,可以使用Docker for Mac,它基于HyperKit虚拟化技术,在MacOS上运行Linux容器。此外,MacOS还提供了命名空间和控制组的实现,可以通过命令行工具launchctl来访问它们。例如,可以使用命令行工具launchctl来创建和管理进程控制组,以及使用名字空间来隔离进程和网络。

在Windows平台上,可以使用Docker Desktop for Windows来运行容器。Docker Desktop for Windows包括一个Windows容器和一个Hyper-V Linux虚拟机。此外,Windows还提供了称为"Windows Server Containers"的原生Windows容器,以及名为"Hyper-V Containers"的超级虚拟化容器。Windows还提供了一些API和工具,如PowerShell、WMI、WinRM等,可以用来创建和管理Windows容器、Hyper-V虚拟机等。

总之,Mac和Windows平台也提供了类似cgroup、namespace这些容器技术的API和工具,使得用户可以在这些平台上构建和运行容器化的应用程序。

不知道你用过Docker Desktop 的windows版本没,他其实就是依赖windows的Hyper-V, 在它的支持下,将Docker容器运行在Linux的虚拟机里。也就是没有环境,就模拟环境,java怎么实现的跨平台运行,不还是靠的JVM虚拟机

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