官术网_书友最值得收藏!

1.3.6 libcontainer

libcontainer是Docker架構(gòu)中一個(gè)使用Go語言設(shè)計(jì)實(shí)現(xiàn)的庫,設(shè)計(jì)初衷是希望該庫可以不依靠任何依賴,直接訪問內(nèi)核中與容器相關(guān)的系統(tǒng)調(diào)用。

正是由于libcontainer的存在,Docker可以直接調(diào)用libcontainer,而最終操作容器的namespaces、cgroups、apparmor、網(wǎng)絡(luò)設(shè)備以及防火墻規(guī)則等。這一系列操作的完成都不需要依賴LXC或者其他包。libcontainer架構(gòu)如圖1-8所示。

圖1-8 libcontainer示意圖

另外,libcontainer提供了一整套標(biāo)準(zhǔn)的接口來滿足上層對(duì)容器管理的需求。或者說,libcontainer屏蔽了Docker上層對(duì)容器的直接管理。又由于libcontainer使用Go這種跨平臺(tái)的語言開發(fā)實(shí)現(xiàn),且本身又可以被上層多種不同的編程語言訪問,因此,很難說未來的Docker一定會(huì)與Linux平臺(tái)緊緊捆綁在一起。Docker Daemon的邏輯完全有可能位于其他非Linux操作系統(tǒng)的平臺(tái)上,僅僅通過libcontainer的遠(yuǎn)程調(diào)用來實(shí)現(xiàn)對(duì)Docker容器的管理。另一方面,libcontainer與Docker Daemon的松耦合設(shè)計(jì),似乎讓用戶感受到了除Linux Container之外其他的容器技術(shù)接入Docker Daemon的可能性。libcontainer承接Linux內(nèi)核與Docker Daemon的同時(shí),也讓Docker的生態(tài)在跨平臺(tái)方面充滿生機(jī)。與此同時(shí),Microsoft在其著名云計(jì)算平臺(tái)Azure中,也添加了對(duì)Docker的支持,可見Docker的開放程度與業(yè)界的火熱度。

暫不談Docker,由于本身完善的功能以及與應(yīng)用系統(tǒng)的松耦合特性,libcontainer很有可能會(huì)在眾多其他以容器為原型的平臺(tái)出現(xiàn),同時(shí)也很有可能催生出云計(jì)算領(lǐng)域全新的項(xiàng)目。

主站蜘蛛池模板: 商南县| 青河县| 闵行区| 葫芦岛市| 蕉岭县| 东丽区| 分宜县| 永仁县| 扎赉特旗| 黔东| 张家口市| 偃师市| 师宗县| 门头沟区| 怀安县| 柞水县| 兴海县| 莫力| 鹤岗市| 交口县| 姜堰市| 桦甸市| 行唐县| 沙河市| 包头市| 建水县| 连平县| 开封县| 石家庄市| 重庆市| 淳化县| 秦安县| 武鸣县| 东阿县| 朝阳区| 赤壁市| 体育| 酒泉市| 徐汇区| 阳朔县| 新营市|