最近在研究Docker,一种新的轻型虚拟化技术,我的以为这是之后虚拟化的方向。从目前企业级及开源社区关于虚拟化的应用及关注方向,大多数使用重虚拟化技术,即在Hypervisor上为每一个应用虚拟guest OS,对于guest OS,除了应用程序须要使用内存、CPU、Disk等资源,guest OS也要使用一部分资源,将全部的guest OS消耗的资源聚集起来,对host server来讲,会有很大部分资源消耗在guest OS,所以服务器资源并未获得充分的使用。而对轻型虚拟化技术,好比Docker使用的LXC,Docker在Host OS中表现为一个进程,而不是整个OS, 运行在每一个Docker中应用彼此经过namespace进程资源隔离, 相互不影响,并且Docker共享主机的资源,使资源能更加利用充分。 如下是研究Docker(0.10.0-dev)代码时画的图,有点大,分三部分,第一张是整个Docker数据逻辑图,第二张是Daemon的逻辑调用图,第三张是pkg(package)的图。docker