azev
V2EX  ›  问与答

docker 怎么有很多操作系统级的镜像?

  •  
  •   azev · Jun 8, 2019 via iPhone · 4757 views
    This topic created in 2548 days ago, the information mentioned may be changed or developed.
    因为看 docker 资料一直提及自己跟虚拟机很不同,没有自己的操作系统。那这些镜像是怎么回事呢?是给 windows 做虚拟机用的?
    10 replies    2019-06-09 10:54:52 +08:00
    cops
        1
    cops  
       Jun 8, 2019 via iPhone
    你还是先了解 docker 是什么吧……
    swulling
        2
    swulling  
       Jun 9, 2019 via iPhone
    docker 的标准 container 没有自己的内核,但是也可以起轻量型虚机
    gamexg
        3
    gamexg  
       Jun 9, 2019
    不是没有自己的操作系统,而是没有自己的内核。
    所有的 docker 容器共用主机的 linux 内核,但是通过内核的各种功能隔离开。
    除了内核之外的部分可以看作都齐全。

    常规的各个 linux 发行版用的都是 linux 内核,虽然不同系统间版本号不同,编译选项不同,打的补丁也会有些区别,但是还是一个东西。
    简单理解各个发行版主要区别在于软件部分,包括默认的软件版本,包管理系统等等,这些部分不属于内核。而不同的 docker 容器系统就在这部分有区别,ubuntu docker 容器虽然共用的主机 linux 内核,但是软件、包管理等都是使用的自己的。
    WebKit
        4
    WebKit  
       Jun 9, 2019 via Android
    @gamexg 类似于 openvz ?那 Windows 上怎么实现的
    gamexg
        5
    gamexg  
       Jun 9, 2019
    @WebKit #4 是的。
    目前已知的 windows 实现都是开一个 linux 虚拟机( docker 最新官方实现是 hyper-v 虚拟机),然后再虚拟机上面再开 docker。
    gamexg
        6
    gamexg  
       Jun 9, 2019
    @WebKit #4 上面说的是 windows 系统运行 linux 容器,
    docker 在 windows 系统上面运行 windows 容器不怎么了解了。
    WebKit
        7
    WebKit  
       Jun 9, 2019 via Android
    @gamexg 感谢大佬
    WebKit
        8
    WebKit  
       Jun 9, 2019 via Android
    @gamexg 好像是 wine 那种。
    wwqgtxx
        9
    wwqgtxx  
       Jun 9, 2019 via iPhone
    @WebKit #8 docker 在 win 上运行原生 win 容器用的还是 hyperv,并不是 wine
    azev
        10
    azev  
    OP
       Jun 9, 2019
    @gamexg 多谢 正看些资料 确实是这样 。
    那些操作系统级别的镜像并不是完整的操作系统,主要特点就是没有内核,只包含了内核外的各自特性部分,比如包管理什么的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2771 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 02:46 · PVG 10:46 · LAX 19:46 · JFK 22:46
    ♥ Do have faith in what you're doing.