Docker運行的原理(瞭解)
一、Docker是怎麼工作的
Docker是一個Client-Server結構的系統,Docker守護進程運行在主機上,然後通過Socket連接從客戶端訪問。
守護進程從客戶端接受命令並管理運行在主機上的容器。
容器是一個運行時環境,就是我們前面說到的集裝箱。
二、爲什麼Docker比VM快
虛擬機是分鐘級的Docker是秒級的。
- Docker有着比虛擬機更少的抽象層。
Docker不需要Hypervisor實現硬件資源虛擬化,運行在Docker容器上的程序直接使用的都是實際物理機的硬件資源。
- Docker利用的是宿主機的內核,而不需要Guest OS。
當新建一個容器時,docker不需要和虛擬機一樣重新加載一個操作系統的內核。
新建一個虛擬機時,虛擬機軟件需要加載Guest OS,整個新建過程是分鐘級別的。
而docker由於直接利用宿主機的操作系統,則省略了返個過程,因此新建一個docker容器只需要幾秒鐘。
虛擬機的架構圖:
Docker的架構圖
虛擬機和Docker的對比
參考文檔: