图书介绍

自己动手写Dockerpdf电子书版本下载

自己动手写Docker
  • 陈显鹭,王炳燊,秦妤嘉著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121317866
  • 出版时间:2017
  • 标注页数:195页
  • 文件大小:65MB
  • 文件页数:212页
  • 主题词:Linux操作系统-程序设计

PDF下载


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

下载说明

自己动手写DockerPDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 容器与开发语言 1

1.1 Docker 1

1.1.1 简介 1

1.1.2 容器和虚拟机比较 2

1.1.3 容器加速开发效率 3

1.1.4 利用容器合作开发 4

1.1.5 利用容器快速扩容 4

1.1.6 安装使用Docker 4

1.2 Go 5

1.2.1 描述 5

1.2.2 安装Go 6

1.2.3 配置GOPATH 6

1.3 小结 7

第2章 基础技术 8

2.1 Linux Namespace介绍 8

2.1.1 概念 8

2.1.2 UTS Namespace 10

2.1.3 IPC Namespace 11

2.1.4 PID Namespace 13

2.1.5 Mount Namespace 14

2.1.6 User Namespace 16

2.1.7 Network Namespace 18

2.2 Linux Cgroups介绍 20

2.2.1 什么是Linux Cgroups 20

2.2.2 Docker是如何使用Cgroups的 24

2.2.3 用Go语言实现通过cgroup限制容器的资源 25

2.3 Union File System 26

2.3.1 什么是Union File System 26

2.3.2 AUFS 27

2.3.3 Docker是如何使用AUFS的 27

2.3.4 自己动手写AUFS 34

2.4 小结 37

第3章 构造容器 38

3.1 构造实现run命令版本的容器 38

3.1.1 Linux proc文件系统介绍 38

3.1.2 实现run命令 39

3.2 增加容器资源限制 45

3.2.1 定义Cgroups的数据结构 45

3.2.2 在启动容器时增加资源限制的配置 51

3.3 增加管道及环境变量识别 53

3.4 小结 58

第4章 构造镜像 59

4.1 使用busybox创建容器 59

4.1.1 busybox 59

4.1.2 pivot_root 60

4.2 使用AUFS包装busybox 63

4.3 实现volume数据卷 67

4.4 实现简单镜像打包 75

4.5 小结 77

第5章 构建容器进阶 78

5.1 实现容器的后台运行 78

5.2 实现查看运行中容器 82

5.2.1 准备数据 82

5.2.2 实现mydocker ps 87

5.3 实现查看容器日志 90

5.4 实现进入容器Namespace 93

5.4.1 setns 94

5.4.2 Cgo 94

5.4.3 实现命令 94

5.5 实现停止容器 100

5.6 实现删除容器 104

5.7 实现通过容器制作镜像 105

5.8 实现容器指定环境变量运行 117

5.8.1 修改runCommand 117

5.8.2 修改Run函数 117

5.8.3 修改NewParentProcess函数 118

5.8.4 修改mydockerexec命令 119

5.9 小结 121

第6章 容器网络 122

6.1 网络虚拟化技术介绍 122

6.1.1 Linux虚拟网络设备 122

6.1.2 Linux路由表 124

6.1.3 Linux iptables 126

6.1.4 Go语言网络库介绍 127

6.2 构建容器网络模型 128

6.2.1 模型 128

6.2.2 调用关系 130

6.3 容器地址分配 137

6.3.1 bitmap算法介绍 138

6.3.2 数据结构定义 138

6.3.3 地址分配的实现 140

6.3.4 地址释放的实现 142

6.3.5 测试 142

6.4 创建Bridge网络 144

6.4.1 Bridge Driver Create实现 144

6.4.2 Bridge Driver初始化Linux Bridge流程 144

6.4.3 Bridge Driver Delete实现 148

6.4.4 测试 148

6.5 在Bridge网络创建容器 149

6.5.1 挂载容器端点的流程 150

6.5.2 测试 156

6.6 容器跨主机网络 159

6.6.1 跨主机容器网络的IPAM 160

6.6.2 跨主机容器网络通信的常见实现方式 161

6.7 小结 163

第7章 高级实践 164

7.1 使用mydocker创建一个可访问的nginx容器 164

7.1.1 获取nginx tar包 164

7.1.2 构建自己的nginx镜像 165

7.1.3 运行mynginx容器 167

7.2 使用mydocker创建一个flask+redis的计数器 169

7.2.1 创建redis容器 169

7.2.2 制作flask镜像 173

7.2.3 创建myflask容器 176

7.3 runC 177

7.3.1 简介 177

7.3.2 OCI标准包(bundle) 177

7.3.3 config.json 178

7.3.4 mounts 178

7.3.5 process 179

7.3.6 user 179

7.3.7 hostname 180

7.3.8 platform 180

7.3.9 钩子(Hook) 181

7.4 runC创建容器流程 182

7.5 Docker containerd项目介绍 186

7.5.1 架构 187

7.5.2 特性和路线图 187

7.5.3 containerd和Docker之间的关系 188

7.5.4 containerd、OCI和runC之间的关系 188

7.5.5 containerd和容器编排系统的关系 188

7.6 Kubernetes CRI容器引擎 189

7.6.1 什么是CRI 189

7.6.2 为什么需要CRI 192

7.6.3 为什么CRI是接口且是基于容器的而不是基于Pod的 193

7.6.4 如何使用CRI 193

7.6.5 CRI的目标 194

7.6.6 已知的问题 194

7.7 小结 195

精品推荐