更新時間:2021年05月25日14時02分 來源:傳智教育 瀏覽次數(shù):
Docker使用了一系列的底層技術來充分發(fā)揮其技術特色,這些底層技術包括有Namespaces、Control groups、Union file systems和Container format等,其具體含義如下。
1. Namespaces(名稱空間)
Docker使用名稱空間來為容器提供隔離的工作空間。當一個容器運行時,Docker就會為該容器創(chuàng)建一系列的名稱空間,并為名稱空間提供一層隔離。每一個容器都運行在相對隔離的環(huán)境下,對其他名稱空間是相對受限的。
2.Control groups(控制組)
基于Linux系統(tǒng)的Docker引擎也依賴于另一項叫做Control groups(cgroups,控制組)的技術。控制組可以對程序進行資源限定,并允許Docker引擎在容器間進行硬件資源共享以及隨時進行限制和約束,例如,開發(fā)者可以限制某特定容器的可用內存。
3.Union file systems(聯(lián)合文件系統(tǒng))
聯(lián)合文件系統(tǒng)(UnionFS)是一種分層、輕量級并且高性能的文件系統(tǒng),它支持將文件系統(tǒng)的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統(tǒng)下。不同Docker容器可以共享一些基礎的文件系統(tǒng)層,與自己獨有的改動層一起使用,可以大大的提高存儲效率。Docker目前支持的聯(lián)合文件系統(tǒng)包括AUFS、btrfs、 vfs 和 DeviceMapper。
4.Container format(容器格式)
Docker引擎將名稱空間、控制組和聯(lián)合文件系統(tǒng)組合成一個叫做容器格式的整體。當前默認的容器格式是libcontainer,未來Docker可能會通過與其他技術(如BSD Jails或者Solaris Zones)的集成使用來開發(fā)其他的容器格式。
需要注意的是,本節(jié)只是針對這些底層技術進行簡要說明,讀者只需了解即可。
猜你喜歡: