各種虛擬機技術開啟了云計算時代;而Docker,作為下一代虛擬化技術,正在改變我們開發、測試、部署應用的方式。物理機和虛擬機、docker有何不同呢?
1、物理機好比是獨棟別墅,獨立地基,獨立院落。
2、虛擬機相當于小區居民樓的每套房,共享地基,共享的院落。但是有獨立衛生間、客廳、臥室、廚房、寬帶。
3、容器相當于膠囊公寓。一套房隔成多個小隔間,共享地基,共享衛生間、廚房和寬帶。
虛擬機是依賴hypervisor這個類似于虛擬化環境的控制管理模塊從主機系統中獲取資源然后分配給每個虛擬機實例。每個虛擬機實例是有獨立的操作系統和運行環境。
而容器類似于已經有了操作系統和基礎環境的虛擬機,方便部署、移植,而且主機資源利用率會比虛擬機要高。
Docker容器并非虛擬機,我們不妨來比較一下它們:
Docker守護進程可以直接與主操作系統進行通信,為各個Docker容器分配資源;它還可以將容器與主操作系統隔離,并將各個容器互相隔離。虛擬機啟動需要數分鐘,而Docker容器可以在數毫秒內啟動。由于沒有臃腫的從操作系統,Docker可以節省大量的磁盤空間以及其他系統資源。