亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×

docker和虛擬化技術的區別

分類:虛機資訊 編輯:互聯網觀察 瀏覽量:573
2020-09-24 16:49:42
作為一種部署應用程序的全新方式,容器技術在短時間內獲得了廣泛關注,但是這種技術同樣存在某些限制,并且和虛擬機存在本質上的不同。
虛擬化技術已經改變了現代計算方式,它能夠提升系統資源使用效率、消除應用程序和底層硬件之間的依賴關系,同時加強負載的可以移植性和安全性,但是hypervisor和虛擬機只是部署虛擬負載的方式之一。作為一種能夠替代傳統虛擬化技術的解決方案,容器虛擬化技術憑借其高效性和可靠性得到了快速發展,它能夠提供新的特性,并且幫助數據中心專家解決新的顧慮。
容器和虛擬機之間的主要區別在于虛擬化層的位置和操作系統資源的使用方式。
Docker 擴展了 Linux 容器(Linux Containers),或著說 LXC,通過一個高層次的 API 為進程單獨提供了一個輕量級的虛擬環境。Docker 利用了 LXC, cgroups 和 Linux 自己的內核。和傳統的虛擬機不同的是,一個 Docker 容器并不包含一個單獨的操作系統,而是基于已有的基礎設施中操作系統提供的功能來運行的。
Docker類似虛擬機的概念,但是與虛擬化技術的不同點在于下面幾點:
1.虛擬化技術依賴物理CPU和內存,是硬件級別的;而docker構建在操作系統上,利用操作系統的containerization技術,所以docker甚至可以在虛擬機上運行。
2.虛擬化系統一般都是指操作系統鏡像,比較復雜,稱為“系統”;而docker開源而且輕量,稱為“容器”,單個容器適合部署少量應用,比如部署一個redis、一個memcached。
3.傳統的虛擬化技術使用快照來保存狀態;而docker在保存狀態上不僅更為輕便和低成本,而且引入了類似源代碼管理機制,將容器的快照歷史版本一一記錄,切換成本很低。
4.傳統的虛擬化技術在構建系統的時候較為復雜,需要大量的人力;而docker可以通過Dockfile來構建整個容器,重啟和構建速度很快。更重要的是Dockfile可以手動編寫,這樣應用程序開發人員可以通過發布Dockfile來指導系統環境和依賴,這樣對于持續交付十分有利。
5.Dockerfile可以基于已經構建好的容器鏡像,創建新容器。Dockerfile可以通過社區分享和下載,有利于該技術的推廣。
Docker 會像一個可移植的容器引擎那樣工作。它把應用程序及所有程序的依賴環境打包到一個虛擬容器中,這個虛擬容器可以運行在任何一種 Linux 服務器上。這大大地提高了程序運行的靈活性和可移植性,無論需不需要許可、是在公共還是私密云、是不是裸機環境等等。
Docker也是一個云計算平臺,它利用Linux的LXC、AUFU、Go語言、cgroup實現了資源的獨立,可以很輕松的實現文件、資源、網絡等隔離,其最終的目標是實現類似PaaS平臺的應用隔離。
2、docker的組成
Docker 由下面這些組成:
2.1 Docker 服務器守護程序(server daemon),用于管理所有的容器。
2.2 Docker 命令行客戶端,用于控制服務器守護程序。
2.3 Docker 鏡像:查找和瀏覽 docker 容器鏡像。
3、docker特性
文件系統隔離:每個進程容器運行在完全獨立的根文件系統里。
資源隔離:可以使用cgroup為每個進程容器分配不同的系統資源,例如CPU和內存。
網絡隔離:每個進程容器運行在自己的網絡命名空間里,擁有自己的虛擬接口和IP地址。
寫時復制:采用寫時復制方式創建根文件系統,這讓部署變得極其快捷,并且節省內存和硬盤空間。
日志記錄:Docker將會收集和記錄每個進程容器的標準流(stdout/stderr/stdin),用于實時檢索或批量檢索。
變更管理:容器文件系統的變更可以提交到新的映像中,并可重復使用以創建更多的容器。無需使用模板或手動配置。
交互式Shell:Docker可以分配一個虛擬終端并關聯到任何容器的標準輸入上,例如運行一個一次性 交互shell。
4、兩個基礎概念images與container
Container和Image 在Docker的世界里,Image是指一個只讀的層(Layer),這里的層是AUFS里的概念,最直觀的方式就是看一下docker官方給出的圖:
Docker使用了一種叫AUFS的文件系統,這種文件系統可以讓你一層一層地疊加修改你的文件,最底下的文件系統是只讀的,如果需要修改文件,AUFS會增加一個可寫的層(Layer),這樣有很多好處,例如不同的Container可以共享底層的只讀文件系統(同一個Kernel),使得你可以跑N多個Container而不至于你的硬盤被擠爆了!這個只讀的層就是Image!而如你所看到的,一個可寫的層就是Container。
   那Image和Container的區別是什么?很簡單,他們的區別僅僅是一個是只讀的層,一個是可寫的層,你可以使用docker commit 命令,將你的Container變成一個Image,也就是提交你所運行的Container的修改內容,變成一個新的只讀的Image,這非常類似于git commit命令。
虛擬機依賴于hypervisor,其通常被安裝在“裸金屬”系統硬件之上,這導致hypervisor在某些方面被認為是一種操作系統。一旦 hypervisor安裝完成, 就可以從系統可用計算資源當中分配虛擬機實例了,每臺虛擬機都能夠獲得唯一的操作系統和負載(應用程序)。
通常,第一臺虛擬機都將會被用來運行系統管理程序,比如Microsoft System Center。而之后的虛擬機可能包含其他企業負載,比如數據庫、ERP、CRM、郵件服務器、媒體服務器、web服務器或者其他業務應用。虛擬機之間是完全隔離的——沒有任何一臺虛擬機知道(或者依賴)相同系統當中的另外一臺虛擬機的存在——惡意軟件、應用程序崩潰和其他問題只能影響一臺虛擬機。虛擬機從一個虛擬系統被移動到另外一個當中,而不用考慮系統硬件和操作系統等因素。
而容器環境的工作方式則有所不同。對于容器環境來說,需要首先安裝主機操作系統,之后將容器層(比如LXC或libcontainer)安裝在主機操作系統(通常是Linux變種)之上。在安裝完容器層之后,就可以從系統可用計算資源當中分配容器實例了,并且企業應用可以被部署在容器當中。但是,每個容器化應用都會共享相同的操作系統(單個主機操作系統)。
相比于虛擬機,容器擁有更高的資源使用效率,因為它并不需要為每個應用分配單獨的操作系統——實例規模更小、創建和遷移速度也更快。這意味相比于虛擬機,單個操作系統能夠承載更多的容器。云提供商十分熱衷于容器技術,因為在相同的硬件設備當中,可以部署數量更多的容器實例。然而,單個操作系統有可能引起影響所有相關實例的單點事故。比如,惡意軟件或者主機操作系統崩潰可能禁用或者影響所有容器。此外,容器易于遷移,但是只能被遷移到具有兼容操作系統內核的其他服務器當中,這樣會無形中減少遷移選擇。
從實際應用的角度來說,容器和虛擬機可以在同一個數據中心當中共存,因此這兩種技術被認為是互補的——為現代應用程序架構師和數據中心管理員添加了可用工具集,通過不同的方式為應用負載提供支持。

聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發

送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時

需注明出處:新網idc知識百科

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 秋霞无码久久久精品| 国产亚洲欧美日韩一区在线播放| 日韩在线一区二区三区四区视频| 日韩高清亚洲日韩精品一区| 欧美大片aaaaa免费观看| 久久精品人妻少妇aⅴ一区二区| 精品欧美h无遮挡在线看中文| 国产精品va在线观看丝瓜影院 | 国内精品乱码卡一卡2卡麻豆| 国产精品无码久久av不卡| 97色精品视频在线观看| 国产成人精品午夜福利在线播放 | 狠狠躁夜夜躁人人爽天天天天97| 疯狂做受xxxx高潮视频免费| 一区二区国产精品精华液| 亚洲国产精品久久久久秋霞小说 | 亚洲另类激情专区小说| 国内精品国产三级国产av| 国产福利无码一区二区在线| 国产欧美日韩一区二区三区在线| 亚洲 都市 校园 激情 另类 | 国产色诱视频在线观看| 免费无码又爽又刺激高潮的视频| 国产精品免费_区二区三区观看 | 国产中文成人精品久久久| av无码一区二区大桥未久| 成人精品一区二区三区在线观看| 蜜臀av在线播放| 亚洲成av人无码综合在线观看 | 国产又黄又爽又色的免费| av在线亚洲欧洲日产一区二区| 国产成人精品一区二区秒拍| 最新亚洲人成网站在线观看| 少妇精品导航| 超薄肉色丝袜一区二区| 亚洲国产一区二区三区| 裸体在线观看一区二区| 国产成人精品97| 夹得好湿真拔不出来了动态图| 亚洲成人色图网| 国产午夜无码精品免费看|