Docker是一個Client-Server結構的系統,Docker守護進程運行在主機上, 而後經過Socket鏈接從客戶端訪問,守護進程從客戶端接受命令並管理運行在主機上的容器。 容器,是一個運行時環境,就是咱們前面說到的集裝箱。docker
(1)docker有着比虛擬機更少的抽象層。由亍docker不須要Hypervisor實現硬件資源虛擬化,運行在docker容器上的程序直接使用的都是實際物理機的硬件資源。所以在CPU、內存利用率上docker將會在效率上有明顯優點。操作系統
(2)docker利用的是宿主機的內核,而不須要Guest OS。所以,當新建一個容器時,docker不須要和虛擬機同樣從新加載一個操做系統內核。仍而避免引尋、加載操做系統內核返個比較費時費資源的過程,當新建一個虛擬機時,虛擬機軟件須要加載Guest OS,返個新建過程是分鐘級別的。而docker因爲直接利用宿主機的操做系統,則省略了返個過程,所以新建一個docker容器只須要幾秒鐘。blog