執行在同樣的主機上,docker容器共用乙個container,而虛擬機器則使用自己的作業系統上的container,虛擬機器之間擁有比docker更好的隔離性,但docker相對於虛擬機器來說有更多的優勢,比如虛擬機器作業系統的存在額外占用了更多的計算資源,其次,從空間占用上,虛擬機器基本都是gb級別的,而對容器來說可以小至幾mb。docker比虛擬機器有更強的跨平台遷移能力,如虛擬機器無法從vmware遷移到kvm,但只要安裝了docker引擎,docker容器就可以在這些平台上執行起來。
容器和虛擬機器都是承載相關應用的載體。
倉庫是儲存映象的地方。
容器有三種狀態:running、stopped、paused,對應虛擬機器的執行、關機、掛起是相似的,通過docker命令可以將容器重啟、停止、啟動、掛起、恢復啟動。
,這種方式build出的映象更乾淨透明。
前面說到容器一旦關閉,其上的修改資訊就會丟失,這對於有狀態的應用來說是不可接受的。我們可以通過給容器掛載檔案目錄或儲存來解決,從而可以儲存一些容器執行中的一些資料。當容器崩潰時候,重新啟動乙個容器時依然可以訪問之前儲存下來的資料,這種方式也可以解決容器間、主機和容器間的資料訪問。
資料卷存在意義:
容器執行時可使用資料卷中的檔案
資料卷可在多個容器間共享
儲存容器執行過程中產生的資料
方便主機對容器資料的訪問
容器間的通訊、容器和web應用之間的通訊往往需要容器的網路來實現,docker的網路有四種模式:bridged、host、container、none。
bridged:表示容器可以與主機上的容器、主機、web進行通訊。
host:表示容器只能與主機進行通訊
container:表示容器,只能與容器之間進行通訊,而無法與主機進行通訊
none:表示沒有網路連線
常用的是bridged模式,安裝docker之後,主機會生成乙個docker網橋,每個容器擁有乙個虛擬網絡卡,容器網**過網橋連線到主機的物理網絡卡,然後與web進行通訊。
Docker核心技術
一 docker基礎 一處封裝構建,到處執行 跨平台跨伺服器。1.解決了執行環境和配置問題軟體容器,方便做持續整合並有助於整體發布的容器虛擬化技術。二 docker三要素 1.倉庫 集中存放映象的場所。docker hub 2.映象 乙個唯讀的模板。3.容器 獨立執行的乙個或一組應用,映象的例項。4...
Docker 核心技術
介紹 linux namespace 是一種 linux kernel 提供的資源隔離方案 linux 核心 中 namespace 的實現 linux 對 namespace 操作方法 namespace 的隔離性 namespace 型別 隔離資源 kernel 版本 ipcsystem v i...
Docker 2 核心技術
2.1.1 docker映象 2.1.2 映象與容器 2.1.3 映象通常較小 2.1.4 映象拉取和映象倉庫 2.1.5 映象命名和標籤 2.1.6 映象與分層 2.1.7 共享映象層 2.1.8 映象雜湊值 摘要 2.2.1 docker容器 2.2.2 容器vs虛擬機器 2.2.3 虛擬機器的...