譯者按: 各種虛擬機器技術開啟了雲計算時代;而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與虛擬機器區別
1 虛擬機器vm vmware 通過hypervisor對硬體資源進行虛擬化,是在宿主機 宿主機系統的基礎上建立虛擬層 虛擬化的作業系統 虛擬化的倉庫,進行操作程式 docker直接使用硬體資源,在宿主機器 宿主機器作業系統上建立docker引擎,在引擎的基礎上操作操作程式,利用率上來看docker...
Docker與虛擬化(虛擬機器區別)
虛擬化 virtualization 技術是乙個通用的概念,在不同領域有不同的理解。在計算領域,一般指的是計算虛擬化 computing virtualization 或通常說的伺服器虛擬化。維基百科上的定義如下 在計算機技術中,虛擬化是一種資源管理技術,是將計算機的各種實體資源,如伺服器 網路 記...
docker與虛擬機器
首先需要明確一點 docker不是容器,它是建立容器的工具,是應用容器引擎。docker是一種輕量級的虛擬化技術,比傳統的虛擬機器效能更好。下圖是虛擬機器的體系結構 server 表示真實電腦。host os 真實電腦的作業系統,例如 windows,linux hypervisor 虛擬機器平台,...