docker docker基礎原理,核心技術簡介

2022-01-29 21:14:14 字數 942 閱讀 2858

關於docker的核心技術,就是以下的三大技術:

1.namespaces 【命名空間】

使用linux的命名空間實現的程序間隔離。docker 容器內部的任意程序都對宿主機器的程序一無所知。

除了程序相關的命名空間,還會設定與使用者、網路、ipc 以及 uts 相關的命名空間。

docker 通過命名空間成功完成了與宿主機程序和網路的隔離。

雖然docker通過命名空間建立了網路隔離,但依舊需要與外界連線才能有用。

docker 為我們提供了四種不同的網路模式,host、container、none 和 bridge 模式。【四種模式區別】

預設使用bridge模式:在這種模式下,除了分配隔離的網路命名空間之外,docker 還會為所有的容器設定 ip 位址。當 docker 伺服器在主機上啟動之後會建立新的虛擬網橋 docker0,隨後在該主機上啟動的全部服務在預設情況下都與該網橋相連。

2.control groups cggroups【控制組】

control groups(簡稱 cgroups)就是能夠隔離宿主機器上的物理資源,例如 cpu、記憶體、磁碟 i/o 和網路頻寬。

3.union filesystem【聯合檔案系統】

unionfs 其實是一種為 linux 作業系統設計的用於把多個檔案系統『聯合』到同乙個掛載點的檔案系統服務。

容器和映象的區別就在於,所有的映象都是唯讀的,而每乙個容器其實等於映象加上乙個可讀寫的層,也就是同乙個映象可以對應多個容器。

每乙個映象層或者容器層都是 /var/lib/docker/ 目錄下的乙個子資料夾;在 docker 中,所有映象層和容器層的內容都儲存在 /var/lib/docker/aufs/diff/ 目錄中。

詳細參考:

docker docker學習基礎概念篇

1 一種虛擬化的方案,直接執行在作業系統山上的使用者空間 2 是一種作業系統級別的虛擬化 3 依賴於linux核心特性 namespace和cgroups 只能執行相同或者相似核心的作業系統 將應用程式自動部署到容器 目標 1 提供簡單輕量的建模方式 2 職責的邏輯分離 3 快速高效的開發周期 4 ...

docker docker基礎原理,核心技術簡介

關於docker的核心技術,就是以下的三大技術 1.namespaces 命名空間 使用linux的命名空間實現的程序間隔離。docker 容器內部的任意程序都對宿主機器的程序一無所知。除了程序相關的命名空間,還會設定與使用者 網路 ipc 以及 uts 相關的命名空間。docker 通過命名空間成...

docker docker開源專案

最早接觸docker是在14年年初,當初docker遠沒有這在這麼火,當時覺得docker也就是類似openstack cloudstack的乙個容器管理,沒什麼特別,沒想到啊,半年的時間裡,發生了如此翻天覆地的變化 vmware與docker合作 rhel 7整合docker cloudfoudr...