1
Nyovelt 2021-11-20 11:17:26 +08:00
Windows 的 docker 有两种运行方法,一种是开一个 hyper V 虚拟机,另一种是开一个新的 WSL2 发行版或者在已有的 WSL2 发行版上安装 docker 引擎(前端还是在 windows 上)。
|
2
chust 2021-11-20 11:37:37 +08:00 via iPhone
https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container
看这个文档里的 Process Isolation 貌似是 namespace 的? |
3
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 |
4
YUyu101 2021-11-20 11:39:11 +08:00
windows container 貌似是原生的
|
5
cxsz 2021-11-20 11:41:32 +08:00
但是 wsl2 需要 hyper-V
|
6
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 |
7
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/ |
8
aihimmel 2021-11-20 13:36:17 +08:00 via Android
为什么那么多人说到容器就默认 docker 了啊,明明 Windows 自己也有容器的
|
9
oxromantic 2021-11-20 18:22:44 +08:00
判断的条件就是 wsl2 里的进程可以和 windows 下的进程公平争抢 cpu 吗,显然不能吧。。我猜的
|
10
ragnaroks 2021-11-21 00:18:36 +08:00
WCOW 是原生的,可同时与 vmware 使用; LCOW 需要 hyperv
WCOW 有 bug ,而且部分功能不支持 |
11
codehz 2021-11-21 08:53:01 +08:00 via Android
Windows 容器可以 hyperv 也可以用进程隔离,但是后者只在 server 版提供(
反正两种都不支持运行图形应用 |