docker在windows上为啥需要虚拟化。

来源:互联网 发布:垫下巴取出 知乎 编辑:程序博客网 时间:2024/06/05 19:41

docker在linux上运行不需要虚拟化,但是,如果在windows上安装运行就需要虚拟化,找到答案了。


Docker的核心技包括Linux 上的名字空Namespaces) 、 控制Control groups) 、Union
件系Union file systems) 和容器格式(Container format) 。
知道,传统的虚机通在宿主主机中hypervisor 来模一整套完整的硬件境提供机的
操作系。 虚机系看到的境是可限制的, 也是彼此隔离的。 种直接的做法实现对资源最完整的
封装, 但很多候往往意味着系统资源的浪。 例如, 以宿主机和虚机系Linux 统为例, 虚
机中行的用其可以利用宿主机系中的境。
知道, 在操作系中, 包括内核、 文件系、 网PIDUIDIPC、 内存、 硬CPU 等等, 所有
源都是程直接共享的。 要想实现化, 除了要实现对内存、CPU、 网IO、 硬IO、 存
等的限制外,实现文件系、 网PIDUIDIPC等等的相互隔离。 前者相容易实现一些, 后
需要宿主机系的深入支持。
随着 Linux 统对于名字空功能的完善实现, 程序可以实现上面的所有需求,某些程在彼此
隔离的名字空行。 大家然都共用一个内核和某些时环境( 例如一些系命令和系统库) , 但
是彼此却看不到, 都以中只有自己的存在。种机制就是容器(Container) , 利用名字空来做
限的隔离控制, 利用 cgroups 来做源分配。



0 0
原创粉丝点击