虛擬機器與Docker有何不同?

2021-08-02 20:31:05 字數 977 閱讀 3831

譯者按: 各種虛擬機器技術開啟了雲計算時代;而docker,作為下一代虛擬化技術,正在改變我們開發、測試、部署應用的方式。那虛擬機器與docker究竟有何不同呢?

原文: comparing virtual machines vs docker containers

譯者: fundebug

首先,大家需要明確一點,docker容器不是虛擬機器。

2023年,當我第一次接觸docker的時候,我把它比做一種輕量級的虛擬機器。這樣做無可厚非,因為docker最初的成功秘訣,正是它比虛擬機器更節省記憶體,啟動更快。docker不停地給大家宣傳,」虛擬機器需要數分鐘啟動,而docker容器只需要50毫秒」。

然而,docker容器並非虛擬機器,我們不妨來比較一下它們。

使用虛擬機器執行多個相互隔離的應用時,如下圖:

從下到上理解上圖:使用docker容器執行多個相互隔離的應用時,如下圖:

不難發現,相比於虛擬機器,docker要簡潔很多。因為我們不需要執行乙個臃腫的從作業系統了。

從下到上理解上圖:docker守護程序可以直接與主作業系統進行通訊,為各個docker容器分配資源;它還可以將容器與主作業系統隔離,並將各個容器互相隔離。虛擬機器啟動需要數分鐘,而docker容器可以在數毫秒內啟動。由於沒有臃腫的從作業系統,docker可以節省大量的磁碟空間以及其他系統資源。

說了這麼多docker的優勢,大家也沒有必要完全否定虛擬機器技術,因為兩者有不同的使用場景。虛擬機器更擅長於徹底隔離整個執行環境。例如,雲服務提供商通常採用虛擬機器技術隔離不同的使用者。而docker通常用於隔離不同的應用,例如前端,後端以及資料庫。

如果你對docker感興趣的話,不妨學習一下dive into docker course。

虛擬機器與Docker有何不同

譯者按 各種虛擬機器技術開啟了雲計算時代 而docker,作為下一代虛擬化技術,正在改變我們開發 測試 部署應用的方式。那虛擬機器與docker究竟有何不同呢?原文 comparing virtual machines vs docker containers 譯者 fundebug 首先,大家需要...

虛擬機器與Docker有何不同?

譯者按 各種虛擬機器技術開啟了雲計算時代 而docker,作為下一代虛擬化技術,正在改變我們開發 測試 部署應用的方式。那虛擬機器與docker究竟有何不同呢?原文 comparing virtual machines vs docker containers 譯者 fundebug 首先,大家需要...

虛擬機器與Docker有何不同

譯者按 各種虛擬機器技術開啟了雲計算時代 而docker,作為下一代虛擬化技術,正在改變我們開發 測試 部署應用的方式。那虛擬機器與docker究竟有何不同呢?原文 comparing virtual machines vs docker containers 譯者 fundebug 首先,大家需要...