目錄
讚譽
序
前言
第1章 Docker架構 1
1.1 引言 1
1.2 Docker總架構圖 2
1.3 Docker各模組功能與實現分析 3
1.3.1 Docker Client 4
1.3.2 Docker Daemon 4
1.3.3 Docker Registry 6
1.3.4 Graph 7
1.3.5 Driver 7
1.3.6 libcontainer 10
1.3.7 Docker Container 10
1.4 Docker運行案例分析 11
1.4.1 docker pull 11
1.4.2 docker run 12
1.5 總結 14
第2章 Docker Client創建與命令執行 15
2.1 引言 15
2.2 創建Docker Client 16
2.2.1 Docker命令的flag參數解析 17
2.2.2 處理flag信息並收集Docker Client的配置信息 20
2.2.3 如何創建Docker Client 22
2.3 Docker命令執行 24
2.3.1 Docker Client解析請求命令 24
2.3.2 Docker Client執行請求命令 25
2.4 總結 27
第3章 啟動Docker Daemon 28
3.1 引言 28
3.2 Docker Daemon的啟動流程 29
3.3 mainDaemon()的具體實現 30
3.3.1 配置初始化 30
3.3.2 flag參數檢查 32
3.3.3 創建engine對象 33
3.3.4 設定engine的信號捕獲 34
3.3.5 載入builtins 35
3.3.6 使用goroutine載入daemon
對象並運行 38
3.3.7 列印Docker版本及驅動信息 41
3.3.8 serveapi的創建與運行 42
3.4 總結 42
第4章 Docker Daemon之NewDaemon實現 43
4.1 引言 43
4.2 NewDaemon具體實現 44
4.3 套用配置信息 45
4.3.1 配置Docker容器的MTU 45
4.3.2 檢測網橋配置信息 46
4.3.3 查驗容器間的通信配置 46
4.3.4 處理網路功能配置 47
4.3.5 處理PID檔案配置 47
4.4 檢測系統支持及用戶許可權 48
4.5 配置工作路徑 49
4.6 載入並配置graphdriver 49
4.6.1 創建graphdriver 49
4.6.2 驗證btrfs與SELinux的兼容性 51
4.6.3 創建容器倉庫目錄 51
4.6.4 遷移容器至aufs類型 51
4.6.5 創建鏡像graph 52
4.6.6 創建volumesdriver以及volumes graph 53
4.6.7 創建TagStore 53
4.7 配置Docker Daemon網路環境 54
4.7.1 創建Docker網路設備 55
4.7.2 啟用iptables功能 55
4.7.3 啟用系統數據包轉發功能 56
4.7.4 創建DOCKER鏈 56
4.7.5 註冊處理方法至Engine 57
4.8 創建graphdb並初始化 57
4.9 創建execdriver 58
4.10 創建daemon實例 59
4.11 檢測DNS配置 60
4.12 啟動時載入已有Docker容器 61
4.13 設定shutdown的處理方法 61
4.14 返回daemon對象實例 62
4.15 總結 62
第5章 Docker Server的創建 63
5.1 引言 63
5.2 Docker Server創建流程 63
5.2.1 創建名為“serveapi”的Job 64
5.2.2 配置Job環境變數 64
5.2.3 運行Job 65
5.3 ServeApi運行流程 65
5.4 ListenAndServe實現 68
5.4.1 創建router路由實例 69
5.4.2 創建listener監聽實例 74
5.4.3 創建http.Server 74
5.4.4 啟動API服務 75
5.5 總結 75
第6章 Docker Daemon網路 76
6.1 引言 76
6.2 Docker Daemon網路介紹 77
6.3 Docker Daemon網路配置接口 78
6.4 Docker Daemon網路初始化 79
6.4.1 啟動Docker Daemon傳遞flag參數 80
6.4.2 解析網路flag參數 80
6.4.3 預處理flag參數 80
6.4.4 確定Docker網路模式 81
6.5 創建Docker網橋 82
6.5.1 提取環境變數 83
6.5.2 確定Docker網橋設備名 83
6.5.3 查找bridgeIface網橋設備 83
6.5.4 bridgeIface已創建 84
6.5.5 bridgeIface未創建 85
6.5.6 獲取網橋設備的網路地址 88
6.5.7 配置Docker Daemon的iptables 88
6.5.8 配置網路設備間數據報轉發功能 88
6.5.9 註冊網路Handler 89
6.6 總結 89
第7章 Docker容器網路 90
7.1 引言 90
7.2 Docker容器網路模式 93
7.2.1 bridge橋接模式 93
7.2.2 host模式 95
7.2.3 other container模式 96
7.2.4 none模式 97
7.3 Docker Client配置容器網路模式 97
7.3.1 使用Docker Client 98
7.3.2 runconfig包解析 98
7.3.3 CmdRun執行 102
7.4 Docker Daemon創建容器網路流程 103
7.4.1 創建容器之網路配置 103
7.4.2 啟動容器之網路配置 105
7.5 execdriver網路執行流程 111
7.5.1 創建libcontainer的Config對象 112
7.5.2 調用libcontainer的namespaces啟動容器 116
7.6 libcontainer實現核心態網路配置 117
7.6.1 創建exec.Cmd 118
7.6.2 啟動exec.Cmd創建進程 119
7.6.3 為容器進程初始化網路環境 120
7.7 總結 122
第8章 Docker鏡像 123
8.1 引言 123
8.2 Docker鏡像介紹 124
8.3 rootfs 124
8.4 Union Mount 125
8.5 image 127
8.6 layer 128
8.7 總結 129
第9章 Docker鏡像下載 130
9.1 引言 130
9.2 Docker鏡像下載流程 131
9.3 Docker Client 131
9.3.1 解析鏡像參數 132
9.3.2 配置認證信息 136
9.3.3 傳送API請求 137
9.4 Docker Server 138
9.4.1 解析請求參數 138
9.4.2 創建並配置Job 139
9.4.3 觸發執行Job 139
9.5 Docker Daemon 140
9.5.1 解析Job參數 1409.5.2 創建session對象 141
9.5.3 執行鏡像下載 142
9.6 總結 147
相關詞條
-
Docker源碼分析
本書是一本引導讀者深入了解Docker實現原理的技術普及讀物,主要目標是通過對Docker架構和原始碼的詳細講解和解剖,幫助讀者對Docker的底層實現...
-
Kubernetes權威指南——從Docker到Kubernetes實踐全接觸
《Kubernetes權威指南——從Docker到Kubernetes實踐全接觸》是2016年1月電子工業出版社出版的圖書,作者是龔正 吳治輝 葉伙榮 ...
內容簡介 目錄 作者簡介 -
Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(紀念版)
《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸(紀念版)》 一書由閆健勇、龔正、吳治輝、王偉、崔秀龍、崔曉寧、劉曉紅編著...
-
Kubernetes權威指南[電子工業出版社2017年出版圖書]
指南及源碼分析等內容,圖文並茂、內容豐富、由淺入深、講解全面;圍繞著生產... kube-apiserver進程源碼分析 5726.2.1 進程啟動過程 5726.2.2... kube-controller-manager進程源碼分析 5926.3.1 進程啟動過程...
內容提要 目錄 -
Kubernetes權威指南[電子工業出版社2016年出版圖書]
指南、開發指導、高級案例、運維指南及源碼分析等方面的內容,由淺入深地介紹... 3966.2 kube-apiserver 進程源碼分析 4006.2.1 進程... 4176.3 kube-controller-manager 進程源碼分析...
內容提要 目錄 -
大數據Spark企業級實戰
、Hadoop、Android、Docker等方面有豐富的源碼、實務和性能...編程、Spark常見問題及調優等,並且結合Spark源碼細緻的解析...的Spark源碼,電子書《Spark+GraphX大規模圖計算和圖挖掘...
內容簡介 作者簡介 目錄 -
Java微服務實戰
Swagger、動態數據源和快取系統,並深入的分析了SpringBoot啟動過程的核心源碼,這一部分是整本書的基礎;服務框架篇詳細的介紹了服務...Swagger 183.2.3 分析Swagger生成的API文檔...
基本信息 內容簡介 目錄信息 -
Kubernetes權威指南
指南、開發指導、高級案例、運維指南及源碼分析等方面的內容,由淺入深地介紹... kube-apiserver 進程源碼分析 4006.2.1 進程啟動... 4176.3 kube-controller-manager 進程源碼分析...
內容提要 目錄 -
程式設計師2017精華本
:細粒度圖像分析進展 100基於深度學習的計算機視覺技術發展 105面向圖像分析套用的海量樣本過濾方案 110人臉識別技術發展及實用方案設計...從源碼角度剖析Android 系統EGL 及GL 執行緒 244基於拆分包...
目錄 作者簡介 前言