溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker的底層實(shí)現(xiàn)所依賴的關(guān)鍵技術(shù)是什么

發(fā)布時(shí)間:2021-11-24 15:47:55 來(lái)源:億速云 閱讀:160 作者:柒染 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)Docker的底層實(shí)現(xiàn)所依賴的關(guān)鍵技術(shù)是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

底層技術(shù)

Docker是用Go編寫(xiě)的,它利用了幾個(gè)Linux內(nèi)核特性來(lái)提供我們所看到的功能。

名稱(chēng)空間

Docker利用一種稱(chēng)為名稱(chēng)空間的技術(shù)來(lái)提供我們稱(chēng)之為容器的隔離工作空間。運(yùn)行容器時(shí),Docker會(huì)為該容器創(chuàng)建一組名稱(chēng)空間。

這提供了一個(gè)隔離層:容器的每個(gè)方面都在其自己的名稱(chēng)空間中運(yùn)行,并且在其外部沒(méi)有訪問(wèn)權(quán)限。

Docker使用的一些名稱(chēng)空間包括:

pid命名空間:用于進(jìn)程隔離(pid:進(jìn)程ID)。

網(wǎng)絡(luò)名稱(chēng)空間:用于管理網(wǎng)絡(luò)接口(網(wǎng)絡(luò):網(wǎng)絡(luò))。

ipc名稱(chēng)空間:用于管理對(duì)ipc資源的訪問(wèn)(ipc:進(jìn)程間通信)。

mnt命名空間:用于管理裝入點(diǎn)(mnt:mount)。

uts名稱(chēng)空間:用于隔離內(nèi)核和版本標(biāo)識(shí)符。(UTS:Unix分時(shí)系統(tǒng))。

對(duì)照組

Docker還使用了另一種稱(chēng)為cgroups或control Group的技術(shù)。隔離運(yùn)行應(yīng)用程序的關(guān)鍵是讓它們只使用您想要的資源。這確保了容器是主機(jī)上良好的多租戶公民??刂平M允許Docker將可用硬件資源共享給容器,并在需要時(shí)設(shè)置限制和約束。例如,限制特定容器的可用內(nèi)存。

聯(lián)合文件系統(tǒng)

Union文件系統(tǒng),或UnionFS,是通過(guò)創(chuàng)建層來(lái)操作的文件系統(tǒng),使它們非常輕量級(jí)和快速。Docker使用union文件系統(tǒng)為容器提供構(gòu)建塊。Docker可以使用多種union文件系統(tǒng)變體,包括:AUFS、btrfs、vfs和DeviceMapper。

容器格式

Docker將這些組件組合成我們稱(chēng)之為容器格式的包裝器。默認(rèn)的容器格式稱(chēng)為libcontainer。Docker還支持使用LXC的傳統(tǒng)Linux容器。將來(lái),Docker可能支持其他容器格式,例如,通過(guò)與BSD監(jiān)獄或Solaris區(qū)域集成。

關(guān)于Docker的底層實(shí)現(xiàn)所依賴的關(guān)鍵技術(shù)是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI