Docker開發(fā)實踐 (曾金龍等著) 帶目錄書簽完整pdf[58MB]
58.2MB / 05-30
Docker開發(fā)指南 ([英] Adrian Mouat) 帶目錄書簽完整pdf[9MB]
9.35MB / 05-30
Docker技術入門與實戰(zhàn) 第二版 完整版高清電子書[53MB]
53.5MB / 09-12
Docker容器實戰(zhàn):原理、架構與應用 (廖煜著) 完整pdf掃描版[85MB
84.6MB / 12-06
Docker實戰(zhàn) ([美]Jeff Nickoloff) 帶目錄完整pdf[97MB]
97.6MB / 06-25
-
MCP快速入門實戰(zhàn)教程 中文PDF完整版 其它相關 / 46.7MB
-
DeepSeek中小學生使用手冊 完整版pdf 其它相關 / 6.95MB
-
清華大學DeepSeek完整版(1-10彈) 中文pdf+視頻 其它相關 / 1.0GB
-
北京大學DeepSeek系列三部曲 中文pdf完整版 其它相關 / 22.8MB
-
STM32系列產品選型手冊 官方版 中文pdf版 其它相關 / 5.6MB
-
北京大學:DeepSeek與AIGC應用(內部研討版)PDF完整版 其它相關 / 9.58MB
-
DeepSeek零基礎入門手冊 秋葉出品 中文pdf版 其它相關 / 9.5MB
-
-
DeepSeek 15天指導手冊——從入門到精通 中文pdf版 其它相關 / 920KB
-
DeepSeek使用教程藍皮書 完整中文版PDF 其它相關 / 3.21MB
詳情介紹
Docker源碼分析是一本引導讀者深入了解Docker實現(xiàn)原理的技術普及讀物,此書的主要目標是通過對Docker架構和源代碼的詳細講解和解剖,幫助讀者對Docker的底層實現(xiàn)有一個全面的理解。有需要的用戶可以免費下載學習。
作者通過大量的流程圖和代碼片段對Docker的架構、Docker的重要模塊,特別是對Swarm、Machine和Compose這三個模塊進行了詳細介紹和深度剖析,無論是Docker的使用者還是開發(fā)者,通過閱讀此書都可以對Docker有更深刻的理解,能夠更好的使用或者開發(fā)Docker。
作者簡介
孫宏亮是DaoCloud初創(chuàng)團隊成員,軟件工程師,浙江大學計算機科學專業(yè)應屆畢業(yè)研究生。
讀研期間活躍在PaaS和Docker開源社區(qū),對Cloud Foundry有深入研究和豐富實踐,擅長底層平臺代碼分析,對分布式平臺的架構有一定經驗,撰寫了大量有深度的技術博客。
2014年末以合伙人身份加入DaoCloud團隊,致力于傳播以Docker為主的容器的技術,推動互聯(lián)網應用的容器化步伐。
Docker介紹
Docker是Docker公司開源的一個基于輕量級虛擬化技術的容器引擎項目,整個項目基于Go語言開發(fā),并遵從Apache 2.0協(xié)議。目前,Docker可以在容器內部快速自動化部署應用,并可以通過內核虛擬化技術(namespaces及cgroups等)來提供容器的資源隔離與安全保障等。由于Docker通過操作系統(tǒng)層的虛擬化實現(xiàn)隔離,所以Docker容器在運行時,不需要類似虛擬機(VM)額外的操作系統(tǒng)開銷,提高資源利用率,并且提升諸如IO等方面的性能。
由于眾多新穎的特性以及項目本身的開放性,Docker在不到兩年的時間里迅速獲得諸多廠商的青睞,其中更是包括Google、Microsoft、VMware等業(yè)界行業(yè)領導者。Google在今年六月份推出了Kubernetes,提供Docker容器的調度服務,而今年8月Microsoft宣布Azure上支持Kubernetes,隨后傳統(tǒng)虛擬化巨頭VMware宣布與Docker強強合作。今年9月中旬,Docker更是獲得4000萬美元的C輪融資,以推動分布式應用方面的發(fā)展。
從目前的形勢來看,Docker的前景一片大好。本系列文章從源碼的角度出發(fā),詳細介紹Docker的架構、Docker的運行以及Docker的卓越特性。本文是Docker源碼分析系列的第一篇———Docker架構篇。
Docker版本信息
本文關于Docker架構的分析都是基于Docker的源碼與Docker相應版本的運行結果,其中Docker為最新的1.2版本。
Docker架構分析內容安排
本文的目的是:在理解Docker源代碼的基礎上,分析Docker架構。分析過程中主要按照以下三個步驟進行:
* Docker的總架構圖展示
* Docker架構圖內部各模塊功能與實現(xiàn)分析
* 以Docker命令的執(zhí)行為例,進行Docker運行流程闡述
docker源碼分析目錄:
贊譽
序
前言
第1章 Docker架構
1.1 引言
1.2 Docker總架構圖
1.3 Docker各模塊功能與實現(xiàn)分析
1.3.1 Docker Client
1.3.2 Docker Daemon
1.3.3 Docker Registry
1.3.4 Graph
1.3.5 Driver
1.3.6 libcontainer
1.3.7 Docker Container
1.4 Docker運行案例分析
1.4.1 docker pull
1.4.2 docker run
1.5 總結
第2章 Docker Client創(chuàng)建與命令執(zhí)行
2.1 引言
2.2 創(chuàng)建Docker Client
2.2.1 Docker命令的flag參數(shù)解析
2.2.2 處理flag信息并收集Docker Client的配置信息
2.2.3 如何創(chuàng)建Docker Client
2.3 Docker命令執(zhí)行
2.3.1 Docker Client解析請求命令
2.3.2 Docker Client執(zhí)行請求命令
2.4 總結
第3章 啟動Docker Daemon
3.1 引言
3.2 Docker Daemon的啟動流程
3.3 mainDaemon()的具體實現(xiàn)
3.3.1 配置初始化
3.3.2 flag參數(shù)檢查
3.3.3 創(chuàng)建engine對象
3.3.4 設置engine的信號捕獲
3.3.5 加載builtins
3.3.6 使用goroutine加載daemon對象并運行
3.3.7 打印Docker版本及驅動信息
3.3.8 serveapi的創(chuàng)建與運行
3.4 總結
第4章 Docker Daemon之NewDaemon實現(xiàn)
4.1 引言
4.2 NewDaemon具體實現(xiàn)
4.3 應用配置信息
4.3.1 配置Docker容器的MTU
4.3.2 檢測網橋配置信息
4.3.3 查驗容器間的通信配置
4.3.4 處理網絡功能配置
4.3.5 處理PID文件配置
4.4 檢測系統(tǒng)支持及用戶權限
4.5 配置工作路徑
4.6 加載并配置graphdriver
4.6.1 創(chuàng)建graphdriver
4.6.2 驗證btrfs與SELinux的兼容性
4.6.3 創(chuàng)建容器倉庫目錄
4.6.4 遷移容器至aufs類型
4.6.5 創(chuàng)建鏡像graph
4.6.6 創(chuàng)建volumesdriver以及volumes graph
4.6.7 創(chuàng)建TagStore
4.7 配置Docker Daemon網絡環(huán)境
4.7.1 創(chuàng)建Docker網絡設備
4.7.2 啟用iptables功能
4.7.3 啟用系統(tǒng)數(shù)據(jù)包轉發(fā)功能
4.7.4 創(chuàng)建DOCKER鏈
4.7.5 注冊處理方法至Engine
4.8 創(chuàng)建graphdb并初始化
4.9 創(chuàng)建execdriver
4.10 創(chuàng)建daemon實例
4.11 檢測DNS配置
4.12 啟動時加載已有Docker容器
4.13 設置shutdown的處理方法
4.14 返回daemon對象實例
4.15 總結
第5章 Docker Server的創(chuàng)建
5.1 引言
5.2 Docker Server創(chuàng)建流程
5.2.1 創(chuàng)建名為"serveapi"的Job
5.2.2 配置Job環(huán)境變量
5.2.3 運行Job
5.3 ServeApi運行流程
5.4 ListenAndServe實現(xiàn)
5.4.1 創(chuàng)建router路由實例
5.4.2 創(chuàng)建listener監(jiān)聽實例
5.4.3 創(chuàng)建http.Server
5.4.4 啟動API服務
5.5 總結
第6章 Docker Daemon網絡
6.1 引言
6.2 Docker Daemon網絡介紹
6.3 Docker Daemon網絡配置接口
6.4 Docker Daemon網絡初始化
6.4.1 啟動Docker Daemon傳遞flag參數(shù)
6.4.2 解析網絡flag參數(shù)
6.4.3 預處理flag參數(shù)
6.4.4 確定Docker網絡模式
6.5 創(chuàng)建Docker網橋
6.5.1 提取環(huán)境變量
6.5.2 確定Docker網橋設備名
6.5.3 查找bridgeIface網橋設備
6.5.4 bridgeIface已創(chuàng)建
6.5.5 bridgeIface未創(chuàng)建
6.5.6 獲取網橋設備的網絡地址
6.5.7 配置Docker Daemon的iptables
6.5.8 配置網絡設備間數(shù)據(jù)報轉發(fā)功能
6.5.9 注冊網絡Handler
6.6 總結
第7章 Docker容器網絡
7.1 引言
7.2 Docker容器網絡模式
7.2.1 bridge橋接模式
7.2.2 host模式
7.2.3 other container模式
7.2.4 none模式
7.3 Docker Client配置容器網絡模式
7.3.1 使用Docker Client
7.3.2 runconfig包解析
7.3.3 CmdRun執(zhí)行
7.4 Docker Daemon創(chuàng)建容器網絡流程
7.4.1 創(chuàng)建容器之網絡配置
7.4.2 啟動容器之網絡配置
7.5 execdriver網絡執(zhí)行流程
7.5.1 創(chuàng)建libcontainer的Config對象
7.5.2 調用libcontainer的namespaces啟動容器
7.6 libcontainer實現(xiàn)內核態(tài)網絡配置
7.6.1 創(chuàng)建exec.Cmd
7.6.2 啟動exec.Cmd創(chuàng)建進程
7.6.3 為容器進程初始化網絡環(huán)境
7.7 總結
第8章 Docker鏡像
8.1 引言
8.2 Docker鏡像介紹
8.3 rootfs
8.4 Union Mount
8.5 image
8.6 layer
8.7 總結
第9章 Docker鏡像下載
9.1 引言
9.2 Docker鏡像下載流程
9.3 Docker Client
9.3.1 解析鏡像參數(shù)
9.3.2 配置認證信息
9.3.3 發(fā)送API請求
9.4 Docker Server
9.4.1 解析請求參數(shù)
9.4.2 創(chuàng)建并配置Job
9.4.3 觸發(fā)執(zhí)行Job
9.5 Docker Daemon
9.5.1 解析Job參數(shù)
9.5.2 創(chuàng)建session對象
9.5.3 執(zhí)行鏡像下載
9.6 總結
第10章 Docker鏡像存儲
10.1 引言
10.2 鏡像注冊
10.3 驗證鏡像ID
10.4 創(chuàng)建鏡像路徑
10.4.1 創(chuàng)建mnt、diff和layers子目錄
10.4.2 掛載祖先鏡像并返回根目錄
10.5 存儲鏡像內容
10.5.1 解壓鏡像內容
10.5.2 收集鏡像大小并記錄
10.5.3 存儲jsonData信息
10.6 注冊鏡像ID
10.7 總結
第11章 docker build實現(xiàn)
11.1 引言
11.2 docker build執(zhí)行流程
11.2.1 Docker Client與docker build
11.2.2 Docker Server與docker build
11.2.3 Docker Daemon與docker build
11.3 Dockerfile命令解析流程
11.4 Dockerfile命令分析
11.4.1 FROM命令
11.4.2 RUN命令
11.4.3 ENV命令
11.5 總結
第12章 Docker容器創(chuàng)建
12.1 引言
12.2 Docker容器運行流程
12.3 Docker Daemon創(chuàng)建容器對象
12.3.1 LookupImage
12.3.2 CheckDepth
12.3.3 mergeAndVerifyConfig
12.3.4 newContainer
12.3.5 createRootfs
12.3.6 ToDisk
12.3.7 Register
12.4 Docker Daemon啟動容器
12.4.1 setupContainerDns
12.4.2 Mount
12.4.3 initializeNetworking
12.4.4 verifyDaemonSetting
12.4.5 prepareVolumesForContainer
12.4.6 setupLinkedContainers
12.4.7 setupWorkingDirectory
12.4.8 createDaemonEnvironment
12.4.9 populateCommand
12.4.10 setupMountsForContainer
12.4.11 waitForStart
12.5 總結
第13章 dockerinit啟動
13.1 引言
13.2 dockerinit介紹
13.2.1 dockerinit初始化內容
13.2.2 dockerinit與Docker Daemon
13.3 dockerinit執(zhí)行入口
13.3.1 createCommand分析
13.3.2 namespace.exec
13.4 dockerinit運行
13.4.1 reexec.Init()的分析
13.4.2 dockerinit的執(zhí)行流程
13.5 libcontainer的運行
13.5.1 Docker Daemon設置cgroups參數(shù)
13.5.2 Docker Daemon創(chuàng)建網絡棧資源
13.5.3 dockerinit配置網絡棧
13.5.4 dockerinit初始化mount namespace
13.5.5 dockerinit完成namespace配置
13.5.6 dockerinit執(zhí)行用戶命令Entrypoint
13.6 總結
第14章 libcontainer介紹
......
第15章 Swarm架構設計與實現(xiàn)
......
第16章 Machine架構設計與實現(xiàn)
......
第17章 Compose架構設計與實現(xiàn)
......
下載地址
人氣書籍
下載聲明
☉ 解壓密碼:chabaoo.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Docker源碼分析 (孫宏亮版) 完整版 中文pdf掃描版【27.9MB】資源來源互聯(lián)網,版權歸該下載資源的合法擁有者所有。