最近在研究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