Docker介紹

grfade發表於2024-03-29
一:Hypervisor

1.Hypervisor是一種執行在物理伺服器和作業系統之間的中間軟體層,可允許多個作業系統和應用共享一套基礎物理硬體。

2.
當伺服器啟動並執行Hypervisor時,它會給每一臺虛擬機器分配適量的記憶體、CPU、網路和磁碟,並載入所有虛擬機器的客戶作業系統。

二:LXC


1.
LXC為Linux Container的簡寫。可以提供輕量級的虛擬化,以便隔離程式和資源,而且不需要提供指令解釋機制以及全虛擬化的其他複雜性。相當於C++中的NameSpace。容器有效地將由單個作業系統管理的資源劃分到孤立的組中,以更好地在孤立的組之間平衡有衝突的資源使用需求。與傳統虛擬化技術相比,它的優勢在於:

(1)與宿主機使用同一個核心,效能損耗小;
(2)不需要指令級模擬;
(3)不需要即時(Just-in-time)編譯

 (4)容器可以在CPU核心的本地執行指令,不需要任何專門的解釋機制;

 (5)避免了準虛擬化和系統呼叫替換中的複雜性;

 (6)輕量級隔離,在隔離的同時還提供共享機制,以實現容器與宿主機的資源共享

三:Docker


1.Docker 直接採用Linux的容器技術來隔離程式,讓其認為自己執行在一個單獨的作業系統中,而實際上仍然執行在同一個作業系統中,共享一個核心,資源利用率遠高於Hypervisor.

2.Docker基於容器的虛擬化註定它只能執行在Linux作業系統上,而且目前只支援在64位作業系統上執行。

3.Hyper-V、KVM和Xen等虛擬機器管理程式都“基於虛擬化硬體模擬機制。這意味著,它們對系統要求很高。”

4.
容器卻使用共享的作業系統。這意味著它們在使用系統資源方面比虛擬機器管理程式要高效得多。容器不是對硬體進行虛擬化處理,而是駐留在單單一個Linux例項上。這反過來意味著,你可以“丟棄沒有用的99.9%的虛擬機器垃圾,剩下一個小巧簡潔的膠囊式容器,裡面含有你的應用程式,”

四:Docker術語

1.映象

映象類似於虛擬機器的模板,可以將其看著靜態檔案。映象是隻讀的,不能夠被修改。Docker映象能夠構建在另外一個映象之上。Docker映象有一個映象識別符號,它是一個64字元長度的十六進位制字串。

Docker生成映象的方式有兩種:一種是基於活動的容器來生成,另一種則是在原有映象上通過檔案的描述宣告來生成。

Docker daemon是作業系統上的Docker管理程式,它負責對機器上的映象,容器進行管理。

2.容器

一個Docker容器在我們執行Docker run <映象> 命令時建立,它在映象上加入了可寫的一層。

Docker用要啟動一個程式必須從容器開始。

3.倉庫

倉庫如同你的程式碼版本庫,你可以很方便的在這裡找到你所需要的映象。

總結: 映象,容器,倉庫三者渾然地結合在一起,形成了Docker獨有的工作流程,從倉庫中申請一個基礎映象,建立一個容器執行起來,之後安裝軟體,配置引數,再將其打包成一個新的映象,隨後推送到倉庫中,將一個新的計算邏輯共享給所需之處使用。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2124895/,如需轉載,請註明出處,否則將追究法律責任。

相關文章