Windows 的容器是原生的内核 namespace 还是 hyperv 提供的?

2021-11-20 11:08:06 +08:00
 statumer
假如是 hyperv 的那就很拉垮了
3078 次点击
所在节点    Windows
11 条回复
Nyovelt
2021-11-20 11:17:26 +08:00
Windows 的 docker 有两种运行方法,一种是开一个 hyper V 虚拟机,另一种是开一个新的 WSL2 发行版或者在已有的 WSL2 发行版上安装 docker 引擎(前端还是在 windows 上)。
chust
2021-11-20 11:37:37 +08:00
dawnh
2021-11-20 11:38:14 +08:00
楼上说的不是很精确。WSL2 内的 container 是 linux 提供的,不算 Windows 的容器。Windows 的容器有 2 种类型,一种是基于进程隔离的容器,一种是 hyper-V 提供的内核级别隔离的容器。
这两种容器现在最容易的使用方式还是 Docker for Windows ,看这里: https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container
YUyu101
2021-11-20 11:39:11 +08:00
windows container 貌似是原生的
cxsz
2021-11-20 11:41:32 +08:00
但是 wsl2 需要 hyper-V
Biggoldfish
2021-11-20 12:59:56 +08:00
如楼上文档里所说,有 Hyper-V isolation 和 Process isolation 两种,后者与 Linux 上的 docker container 比较相似,但需要 host 和 guest OS 版本匹配
https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container
l4ever
2021-11-20 13:32:45 +08:00
Docker Desktop 有个复选框
Use the WSL 2 based engine
WSL 2 provides better performance than the legacy Hyper-V backend. https://docs.docker.com/desktop/windows/wsl/
aihimmel
2021-11-20 13:36:17 +08:00
为什么那么多人说到容器就默认 docker 了啊,明明 Windows 自己也有容器的
oxromantic
2021-11-20 18:22:44 +08:00
判断的条件就是 wsl2 里的进程可以和 windows 下的进程公平争抢 cpu 吗,显然不能吧。。我猜的
ragnaroks
2021-11-21 00:18:36 +08:00
WCOW 是原生的,可同时与 vmware 使用; LCOW 需要 hyperv

WCOW 有 bug ,而且部分功能不支持
codehz
2021-11-21 08:53:01 +08:00
Windows 容器可以 hyperv 也可以用进程隔离,但是后者只在 server 版提供(
反正两种都不支持运行图形应用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/816724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX