V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
statumer
V2EX  ›  Windows

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

  •  
  •   statumer · 2021-11-20 11:08:06 +08:00 via iPhone · 3061 次点击
    这是一个创建于 1081 天前的主题,其中的信息可能已经有所发展或是发生改变。
    假如是 hyperv 的那就很拉垮了
    11 条回复    2021-11-21 08:53:01 +08:00
    Nyovelt
        1
    Nyovelt  
       2021-11-20 11:17:26 +08:00
    Windows 的 docker 有两种运行方法,一种是开一个 hyper V 虚拟机,另一种是开一个新的 WSL2 发行版或者在已有的 WSL2 发行版上安装 docker 引擎(前端还是在 windows 上)。
    chust
        2
    chust  
       2021-11-20 11:37:37 +08:00 via iPhone
    dawnh
        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
    YUyu101
        4
    YUyu101  
       2021-11-20 11:39:11 +08:00
    windows container 貌似是原生的
    cxsz
        5
    cxsz  
       2021-11-20 11:41:32 +08:00
    但是 wsl2 需要 hyper-V
    Biggoldfish
        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
    l4ever
        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/
    aihimmel
        8
    aihimmel  
       2021-11-20 13:36:17 +08:00 via Android
    为什么那么多人说到容器就默认 docker 了啊,明明 Windows 自己也有容器的
    oxromantic
        9
    oxromantic  
       2021-11-20 18:22:44 +08:00
    判断的条件就是 wsl2 里的进程可以和 windows 下的进程公平争抢 cpu 吗,显然不能吧。。我猜的
    ragnaroks
        10
    ragnaroks  
       2021-11-21 00:18:36 +08:00
    WCOW 是原生的,可同时与 vmware 使用; LCOW 需要 hyperv

    WCOW 有 bug ,而且部分功能不支持
    codehz
        11
    codehz  
       2021-11-21 08:53:01 +08:00 via Android
    Windows 容器可以 hyperv 也可以用进程隔离,但是后者只在 server 版提供(
    反正两种都不支持运行图形应用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5264 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:27 · PVG 17:27 · LAX 01:27 · JFK 04:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.