App 下载
注册
登录
|
搜索
正在搜索中...
首页
我的书架
我的主页
我的收藏
我的书评
本书是一本引导读者深入了解Docker实现原理的技术普及读物,主要目标是通过对Docker架构和源代码的详细讲解和解剖,帮助读者对Docker的底层实现有一个全面的理解。
……
[ 展开全部 ]
作者通过大量的流程图和代码片段对Docker的架构、Docker的重要模块,特别是对Swarm、Machine和Compose这三个模块进行了详细介绍和深度剖析,无论是Docker的使用者还是开发者,通过阅读此书都可以对Docker有更深刻的理解,能够更好的使用或者开发Docker。
[ 收起 ]
作者:孙宏亮
出版社:机械工业出版社
定价:59.00
ISBN:7111510720
给个评价
做个书摘
书摘 (21 )
评价 (1 )
查看所有书摘
按目录显示书摘
只显示目录
目录
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
赞誉
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
序
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
前言
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第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与Docker Daemon 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
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
导购链接
×
做书摘
文字书摘
读图识字
至少还需要输入
10
字
保存原图片为书摘
上传图片
识别
最多输入
500
个字
上传图片
重新上传
写点笔记吧
至少还需要输入
10
字
章节(选填)
目录
赞誉
序
前言
第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与Docker Daemon 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
页码(选填)
这本书已经添加了这些章节,请勾选或者新建你的书摘所属的章节
add
up
down
remove
目录
赞誉
序
前言
第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与Docker Daemon 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
×
添加一个书摘本
搜索创建书摘本
搜索
正在搜索...
不对,换一下
书名
作者
出版社
备注
ISBN
*
*
目录
赞誉
序
前言
第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与Docker Daemon 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