在很久很久以前,開發軟體需要具備一台物理伺服器,在這個物理伺服器上搭建作業系統(linux、windows),再在os之上開發管理自己的軟體。這樣做的缺點有:1、因為需要伺服器所以會花費掉一筆巨資,開發成本也就隨之上公升了。2、開發周期長,從購買物理伺服器到os搭建,在到真正開發軟體中途會浪費掉不少時間。3、軟體可移植性差,一款軟體在其他機器上部署的時候首先得具備和軟體開發環境相同得條件,不同的os、伺服器型別都可能導致軟體部署失敗。4、物理伺服器的資源使用率不高,很多物理伺服器的記憶體、cpu等資源並非完全使用,一大部分可能處於閒置狀態因而造成資源浪費。
隨之而來的虛擬化技術為解決這些問題提供了部分方案。先來說說虛擬化的優點:1、資源池化,將硬體資源虛擬化為抽象的資源從而提公升了資源利用率;2、具有易拓展性,當物理資源不夠時可以增添物理資源再將其抽象成虛擬資源以供使用。3、為雲服務的到來打下基礎;這時我們發現虛擬化技術並沒有解決全部的問題,它也缺點:每乙個虛擬機器環境都需要在乙個完整的os之上執行,當虛擬機器個數較多時就會對物理資源造成很大的占用。同時依舊需要物理伺服器的支援,且可移植性的問題依舊沒有解決。
在後來就有了容器技術,它將軟體及其執行環境打包成乙個整體從而主要解決了可移植性、開發和運維環境差異等帶來的問題,它和雲計算結合更是解決了必須具備物理伺服器的問題,隨之而來的問題也就迎刃而解了;
既然容器可以解決這些的問題,那麼為什麼我們看見像vmware 、citrix等虛擬化產品依舊屹立不倒呢?這是因為容器雖然好用但是其隔離性比虛擬機器還是要差的,所以選擇容器抑或是虛擬化技術就取決與我們的需求了。若只是希望將應用執行例項進行隔離,那麼對於管理應用執行環境、啟動應用執行例項以及資源開銷方面,容器將是乙個高效的工具。如果是從伺服器虛擬化的角度來尋找最好的環境隔離方案,那麼系統級的虛擬化將是更好的解決方案;
虛擬化技術與容器技術
作為一種部署應用程式的全新方式,容器技術在短時間內獲得了廣泛關注,但是這種技術同樣存在某些限制,並且和虛擬機器存在本質上的不同。虛擬化技術已經改變了現代計算方式,它能夠提公升系統資源使用效率 消除應用程式和底層硬體之間的依賴關係,同時加強負載的可以移植性和安全性,但是hypervisor和虛擬機器只...
容器技術與虛擬化技術理解
容器技術與虛擬化技術理解 虛擬化技術 虛擬化技術即通過hypervisor將os執行在物理裝置或是宿主os上,此兩種虛擬化為裸機虛擬化和宿主虛擬化 裸機 虛擬機器直接執行在系統硬體上,建立硬體全 例項,被稱為 裸機 型。裸機型在虛擬化中hypervisor直接管理呼叫硬體資源,不需要底層作業系統,也...
虛擬化與容器化
安裝 1.使用root許可權操作 安裝命令 yum install docker 2.檢查安裝是否成功 檢查命令docker version 若輸出了 docker 的版本號,說明安裝成功了,可通過以下命令啟動 docker 服務 3.docker啟動命令service docker start 一...