<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Docker容器與虛擬機的區別

汽車玩家 ? 來源:今日頭條 ? 作者:聞數起舞 ? 2020-05-03 17:17 ? 次閱讀

我曾經將Docker容器視為輕量級,精簡的虛擬機。 進行這種比較是有道理的,因為至少在Docker的最初市場中,總是將其與虛擬機進行比較-例如," Docker花費的啟動時間少于VM,等等"。

但是docker容器不是虛擬機。

讓我們對Docker容器和虛擬機進行并排比較。

虛擬機

虛擬機(VM)是物理硬件的抽象,它將一臺服務器變成很多服務器。 虛擬機管理程序允許多個VM在單臺計算機上運行。 每個VM均包含操作系統,應用程序以及必要的二進制文件和庫的完整副本-占用數十GB。 VM也可能啟動緩慢。

> follow devkube.blogsopt.com

虛擬機架構

假設有許多層。 連接這些層后,它們便構成了虛擬機。

虛擬機基礎結構的底層主要是虛擬機的硬件。

該硬件層主要是運行虛擬機所需的硬件池。 它主要由Ram組成-它可以是SSD(通常是SSD),甚至是低性能的HDD,CPU等。

在此層之上,運行一個主機操作系統-通常是Linux,有時是Windows。 在此之上,有一個稱為管理程序層的層。 系統管理程序層有兩種類型。 一種運行在主要用于數據中心的硬件層之上,另一種運行在用于VMware或VirtualBox等程序的操作系統之上。

在此Hypervisor層之上,運行來賓OS塊。 假設您要彼此完全隔離地運行三種不同類型的應用程序,則需要啟動三個獨立的VM。 系統管理程序直接控制這三個VMS。

但是現在想象一下,這三個虛擬機有其操作系統-Linux或Windows。 現在,假設他們具有Linux操作系統,因此每個OS大約為700mb。 我們必須啟動三個VM,這些VM在我們的操作系統上占據大約2.1GB的存儲空間。 最重要的是,每個來賓OS都需要一套自己的bin /庫-Python依賴項,Node模塊等,以奠定運行該應用程序的基礎。

現在,最后,我們在此之上具有我們的Application層,該層通常是您已構建的應用程序的源代碼

什么是容器?

容器是應用程序層的抽象,將代碼和依賴項打包在一起。 多個容器可以在同一臺計算機上運行,并與其他容器共享其OS內核,每個容器在用戶空間中作為隔離的進程運行。 容器占用的空間少于VM(容器映像的大小通常為幾十MB),可以處理更多的應用程序,并且需要的VM和操作系統更少。

> Follow devkube.blogspot.com

Docker容器架構

Docker并不是魔術,而是需要一些基礎硬件來運行。 因此,第一層(硬件層)是虛擬機層基礎結構所共有的。

在此之上,有一個主機操作系統。 它可以是能夠運行Docker的任何操作系統。 Docker支持所有主要的Linux發行版,并且有一些方法可以在Windows計算機和Mac上運行Docker。

現在進入第三層。 這里有一些有趣的東西。 Docker守護程序替換了該層,該層是虛擬機體系結構中的管理程序層。 該服務在后臺運行,負責運行Docker容器。

然后Bin / Libray駐留在該應用程序的容器中,并且有該應用程序的源代碼。 Docker守護程序管理所有這些容器層。

因此,我們不需要來賓操作系統,并節省了它所占用的內存量。 我們還保存了運行這些VM時機器上的負載。

在這里,每個應用程序都相互隔離,因為它已托管在不同的容器中,但仍位于同一主機OS上。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 虛擬機
    +關注

    關注

    1

    文章

    861

    瀏覽量

    27460
  • Docker
    +關注

    關注

    0

    文章

    438

    瀏覽量

    11636
收藏 人收藏

    評論

    相關推薦

    虛擬機的ip地址和主機一樣嗎

    地址,用于與其他設備進行通信。下面將詳細介紹虛擬機的IP地址和主機的IP地址之間的區別和聯系。 IP地址是用于在網絡中唯一標識設備的一串數字。在TCP/IP協議棧中,IP地址被用于路由數據包,并將數據從源設備傳遞到目標設備。每個主機(或虛
    的頭像 發表于 03-26 15:34 ?625次閱讀

    ARM平臺實現Docker容器技術

    上,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一樣管理基礎結構。通過利用Docker的快速發布、測試和部署代碼的方法,可顯著減少
    的頭像 發表于 03-07 13:48 ?221次閱讀
    ARM平臺實現<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技術

    虛擬機ubuntu怎么聯網

    虛擬機ubuntu怎么聯網? 虛擬機(Virtual Machine)是運行在物理機(Host Machine)上的虛擬操作系統環境。在虛擬機中安裝Ubuntu操作系統后,需要進行網絡
    的頭像 發表于 12-27 16:51 ?584次閱讀

    虛擬機和模擬器有哪些異同點和區別

    虛擬機和模擬器有哪些異同點和區別? 虛擬機和模擬器是計算機領域中常用的技術,它們可以在一臺計算機上同時運行多個操作系統或環境。虛擬機和模擬器雖然功能相似,但是在定義、實現、性能、資源利
    的頭像 發表于 12-27 16:26 ?1515次閱讀

    docker虛擬機有何區別?

    整個Docker由客戶端、服務端和倉庫構成
    的頭像 發表于 12-06 10:08 ?308次閱讀
    <b class='flag-5'>docker</b>和<b class='flag-5'>虛擬機</b>有何<b class='flag-5'>區別</b>?

    怎么安裝linux虛擬機

    在計算機領域,虛擬機是一種軟件程序,它允許在主操作系統上運行多個虛擬操作系統。Linux虛擬機在開發、測試和學習等環境中得到廣泛應用。本文將詳細介紹如何安裝Linux虛擬機,并提供一個
    的頭像 發表于 11-23 10:50 ?663次閱讀

    docker容器有幾種狀態

    Docker 是一種流行的容器化平臺,它能夠幫助開發人員將應用程序和其依賴打包成一個獨立的容器,并且能夠在不同的環境中進行部署和運行。在 Docker 中,
    的頭像 發表于 11-23 09:50 ?940次閱讀

    docker進入容器的方法有哪些

    Docker是一種流行的容器化平臺,它能夠快速構建、交付和運行應用程序。在使用Docker時,我們經常需要進入容器進行調試、管理和運行命令等操作。本文將詳細介紹
    的頭像 發表于 11-23 09:45 ?4217次閱讀

    Docker虛擬機區別

    Docker虛擬機是兩種不同的虛擬化技術,它們在實現方式、資源消耗、運行性能等方面存在許多差異。本文將會詳細介紹它們的區別。 一、實現方式 1.1
    的頭像 發表于 11-23 09:37 ?3004次閱讀

    docker容器容器之間通信

    Docker是一種輕量級容器化技術,能夠將應用程序及其依賴項封裝在一個獨立、可移植的容器中。而容器化的應用程序通常是以分布式方式設計的,因此實現容器
    的頭像 發表于 11-23 09:36 ?590次閱讀

    docker容器刪除后數據還在嗎

    Docker作為一個容器化平臺,提供了輕量級的虛擬化解決方案,能夠方便地創建、部署和管理應用程序。然而,對于Docker容器的數據持久性是一
    的頭像 發表于 11-23 09:32 ?757次閱讀

    docker部署mysql的壞處

    的問題和挑戰。在這篇文章中,我們將探討 Docker 部署 MySQL 的壞處。 首先,Docker 部署 MySQL 可能會面臨性能問題。盡管 Docker 提供了輕量級的容器化解決
    的頭像 發表于 11-23 09:29 ?816次閱讀

    使用Docker容器編譯OK3568源代碼

    經常編譯系統,又免不了搭建各種開發環境,所以為了不對開發主機的環境有影響,使用Docker容器編譯代碼是比較方便和省心的方式。 編譯OK3568的源代碼,需要用Ubunut 18.04版本,我的開發
    發表于 10-19 10:36

    如何使用 Docker容器化技術

    對于開發人員來說,Docker肯定都不陌生,今天小編帶大家重新學習一下Docker。 什么是 Docker 官話: Docker 是一種開源的容器
    的頭像 發表于 09-30 11:24 ?1.1w次閱讀

    docker基礎知識和使用bmnnsdk時的docker常用命令

    ;amp;gt; 是Linux容器的一種封裝,是目前最流行的Linux容器解決方案,將應用程序與該容器的依賴打包在一個文件里面。運行這個文件,就會生成一個虛擬
    發表于 09-18 07:59
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>