底層技術:1、名稱空間,名稱空間為容器提供隔離的工作空間;2、控制組,控制組可以對程式進行資源限定;3、聯合檔案系統,支援將檔案系統的修改作為一次提交來一層層的疊加;4、容器格式,將名稱空間、控制組和聯合檔案系統組合成名為容器格式的整體。
本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
Docker使用了一系列的底層技術來充分發揮其技術特色,這些底層技術包括有Namespaces、Control groups、Union file systems和Container format等,其具體意義如下。
1. Namespaces(名稱空間)
Docker使用名稱空間來提供容器隔離的工作空間。當一個容器運作時,Docker就會為此容器建立一系列的名稱空間,並為名稱空間提供一層隔離。每一個容器都運作在相對隔離的環境下,對其他名稱空間是相對受限的。
2.Control groups(控制組)
基於Linux系統的Docker引擎也依賴另一項叫做Control groups(cgroups,控制組)的技術。控制組可以對程式進行資源限定,並允許Docker引擎在容器間進行硬體資源共用以及隨時進行限制和約束,例如,開發者可以限制某特定容器的可用記憶體。
3.Union file systems(聯合檔案系統)
#共同檔案系統(UnionFS)是一種分層、輕量級且高效能的檔案系統,它支援將檔案系統的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬檔案系統下。不同Docker容器可以共享一些基礎的檔案系統層,與自己獨特的改變層一起使用,可以大幅的提高儲存效率。 Docker目前支援的聯合檔案系統包括AUFS、btrfs、 vfs 和 DeviceMapper。
4.Container format(容器格式)
#Docker引擎將名稱空間、控制群組和聯合檔案系統組合成一個叫做容器格式的整體。目前預設的容器格式是libcontainer,未來Docker可能會透過與其他技術(如BSD Jails或Solaris Zones)的整合使用來開發其他的容器格式。
推薦學習:《docker影片教學》
以上是docker底層技術分為哪幾塊的詳細內容。更多資訊請關注PHP中文網其他相關文章!