图书介绍

容器技术系列 Docker源码分析pdf电子书版本下载

容器技术系列  Docker源码分析
  • 孙宏亮著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111510727
  • 出版时间:2015
  • 标注页数:247页
  • 文件大小:43MB
  • 文件页数:265页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

容器技术系列 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 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参数 140

9.5.2 创建session对象 141

9.5.3 执行镜像下载 142

9.6 总结 147

第10章 Docker镜像存储 149

10.1 引言 149

10.2 镜像注册 150

10.3 验证镜像ID 151

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 注册镜像ID 162

10.7 总结 163

第11章 docker build实现 164

11.1 引言 164

11.2 docker build执行流程 165

11.2.1 Docker Client与docker build 166

11.2.2 Docker Server与docker build 170

11.2.3 Docker Daemon与docker build 171

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 LookupImage 186

12.3.2 CheckDepth 188

12.3.3 mergeAndVerifyConfig 188

12.3.4 newContainer 189

12.3.5 createRootfs 190

12.3.6 ToDisk 190

12.3.7 Register 191

12.4 Docker Daemon启动容器 191

12.4.1 setupContainerDns 192

12.4.2 Mount 193

12.4.3 initializeNetworking 194

12.4.4 verifyDaemonSetting 194

12.4.5 prepareVolumesForContainer 195

12.4.6 setupLinkedContainers 196

12.4.7 setupWorkingDirectory 199

12.4.8 createDaemonEnvironment 199

12.4.9 populateCommand 200

12.4.10 setupMountsForContainer 200

12.4.11 waitForStart 201

12.5 总结 202

第13章 dockerinit启动 203

13.1 引言 203

13.2 dockerinit介绍 204

13.2.1 dockerinit初始化内容 204

13.2.2 dockerinit与DockerDaemon 204

13.3 dockerinit执行入口 205

13.3.1 createCommand分析 205

13.3.2 namespace.exec 207

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 namespace 215

13.5.5 dockerinit完成namespace配置 215

13.5.6 dockerinit执行用户命令Entrypoint 217

13.6 总结 218

第14章 libcontainer介绍 219

14.1 引言 219

14.2 Docker、libcontainer以及LXC的关系 220

14.3 libcontainer模块分析 221

14.3.1 namespace 221

14.3.2 cgroup 224

14.3.3 网络 225

14.3.4 挂载 226

14.3.5 设备 227

14.3.6 nsinit 227

14.3.7 其他模块 227

14.4 总结 228

第15章 Swarm架构设计与实现 229

15.1 引言 229

15.2 Swarm架构 230

15.2.1 Swarm Node 231

15.2.2 Docker Node 231

15.2.3 node discovery 231

15.2.4 scheduler 232

15.3 Swarm命令 232

15.3.1 swarm create 232

15.3.2 swarm manage 232

15.3.3 swarm join 233

15.3.4 swarm list 234

15.4 总结 234

第16章 Machine架构设计与实现 235

16.1 引言 235

16.2 Machine架构 236

16.2.1 Machine 237

16.2.2 Store 237

16.2.3 Host 237

16.2.4 Driver 238

16.2.5 Provisioner 238

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与Swarm 247

17.5 总结 247

精品推荐