图书介绍
容器技术系列 Docker源码分析PDF|Epub|txt|kindle电子书版本网盘下载
- 孙宏亮著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111510727
- 出版时间:2015
- 标注页数:247页
- 文件大小:43MB
- 文件页数:265页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
容器技术系列 Docker源码分析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Docker架构1
1.1 引言1
1.2 Docker总架构图2
1.3 Docker各模块功能与实现分析3
1.3.1 Docker Client4
1.3.2 Docker Daemon4
1.3.3 Docker Registry6
1.3.4 Graph7
1.3.5 Driver7
1.3.6 libcontainer10
1.3.7 Docker Container10
1.4 Docker运行案例分析11
1.4.1 docker pull11
1.4.2 docker run12
1.5 总结14
第2章 Docker Client创建与命令执行15
2.1 引言15
2.2 创建Docker Client16
2.2.1 Docker命令的flag参数解析17
2.2.2 处理flag信息并收集Docker Client的配置信息20
2.2.3 如何创建Docker Client22
2.3 Docker命令执行24
2.3.1 Docker Client解析请求命令24
2.3.2 Docker Client执行请求命令25
2.4 总结27
第3章 启动Docker Daemon28
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 加载builtins35
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容器的MTU45
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 加载并配置graphdriver49
4.6.1 创建graphdriver49
4.6.2 验证btrfs与SELinux的兼容性51
4.6.3 创建容器仓库目录51
4.6.4 迁移容器至aufs类型51
4.6.5 创建镜像graph52
4.6.6 创建volumesdriver以及volumes graph53
4.6.7 创建TagStore53
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 注册处理方法至Engine57
4.8 创建graphdb并初始化57
4.9 创建execdriver58
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”的Job64
5.2.2 配置Job环境变量64
5.2.3 运行Job65
5.3 ServeApi运行流程65
5.4 ListenAndServe实现68
5.4.1 创建router路由实例69
5.4.2 创建listener监听实例74
5.4.3 创建http.Server74
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的iptables88
6.5.8 配置网络设备间数据报转发功能88
6.5.9 注册网络Handler89
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 Client98
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.Cmd118
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 rootfs124
8.4 Union Mount125
8.5 image127
8.6 layer128
8.7 总结129
第9章 Docker镜像下载130
9.1 引言130
9.2 Docker镜像下载流程131
9.3 Docker Client131
9.3.1 解析镜像参数132
9.3.2 配置认证信息136
9.3.3 发送API请求137
9.4 Docker Server138
9.4.1 解析请求参数138
9.4.2 创建并配置Job139
9.4.3 触发执行Job139
9.5 Docker Daemon140
9.5.1 解析Job参数140
9.5.2 创建session对象141
9.5.3 执行镜像下载142
9.6 总结147
第10章 Docker镜像存储149
10.1 引言149
10.2 镜像注册150
10.3 验证镜像ID151
10.4 创建镜像路径152
10.4.1 创建mnt、diff和layers子目录153
10.4.2 挂载祖先镜像并返回根目录155
10.5 存储镜像内容157
10.5.1 解压镜像内容158
10.5.2 收集镜像大小并记录160
10.5.3 存储jsonData信息161
10.6 注册镜像ID162
10.7 总结163
第11章 docker build实现164
11.1 引言164
11.2 docker build执行流程165
11.2.1 Docker Client与docker build166
11.2.2 Docker Server与docker build170
11.2.3 Docker Daemon与docker build171
11.3 Dockerfile命令解析流程174
11.4 Dockerfile命令分析177
11.4.1 FROM命令177
11.4.2 RUN命令178
11.4.3 ENV命令182
11.5 总结182
第12章 Docker容器创建183
12.1 引言183
12.2 Docker容器运行流程184
12.3 Docker Daemon创建容器对象185
12.3.1 LookupImage186
12.3.2 CheckDepth188
12.3.3 mergeAndVerifyConfig188
12.3.4 newContainer189
12.3.5 createRootfs190
12.3.6 ToDisk190
12.3.7 Register191
12.4 Docker Daemon启动容器191
12.4.1 setupContainerDns192
12.4.2 Mount193
12.4.3 initializeNetworking194
12.4.4 verifyDaemonSetting194
12.4.5 prepareVolumesForContainer195
12.4.6 setupLinkedContainers196
12.4.7 setupWorkingDirectory199
12.4.8 createDaemonEnvironment199
12.4.9 populateCommand200
12.4.10 setupMountsForContainer200
12.4.11 waitForStart201
12.5 总结202
第13章 dockerinit启动203
13.1 引言203
13.2 dockerinit介绍204
13.2.1 dockerinit初始化内容204
13.2.2 dockerinit与DockerDaemon204
13.3 dockerinit执行入口205
13.3.1 createCommand分析205
13.3.2 namespace.exec207
13.4 dockerinit运行208
13.4.1 reexec.Init()的分析208
13.4.2 dockerinit的执行流程210
13.5 libcontainer的运行211
13.5.1 Docker Daemon设置cgroups参数213
13.5.2 Docker Daemon创建网络栈资源213
13.5.3 dockerinit配置网络栈213
13.5.4 dockerinit初始化mount namespace215
13.5.5 dockerinit完成namespace配置215
13.5.6 dockerinit执行用户命令Entrypoint217
13.6 总结218
第14章 libcontainer介绍219
14.1 引言219
14.2 Docker、libcontainer以及LXC的关系220
14.3 libcontainer模块分析221
14.3.1 namespace221
14.3.2 cgroup224
14.3.3 网络225
14.3.4 挂载226
14.3.5 设备227
14.3.6 nsinit227
14.3.7 其他模块227
14.4 总结228
第15章 Swarm架构设计与实现229
15.1 引言229
15.2 Swarm架构230
15.2.1 Swarm Node231
15.2.2 Docker Node231
15.2.3 node discovery231
15.2.4 scheduler232
15.3 Swarm命令232
15.3.1 swarm create232
15.3.2 swarm manage232
15.3.3 swarm join233
15.3.4 swarm list234
15.4 总结234
第16章 Machine架构设计与实现235
16.1 引言235
16.2 Machine架构236
16.2.1 Machine237
16.2.2 Store237
16.2.3 Host237
16.2.4 Driver238
16.2.5 Provisioner238
16.2.6 Machine运行流程239
16.3 Machine与Swarm的结合240
16.4 总结241
第17章 Compose架构设计与实现242
17.1 引言242
17.2 Compose介绍242
17.3 Compose架构243
17.4 Compose评价246
17.4.1 Compose单机能力246
17.4.2 Compose跨节点能力247
17.4.3 Compose与Swarm247
17.5 总结247