百道网
 您现在的位置:Fun书 > Docker开发指南
Docker开发指南


Docker开发指南

作  者:[英] 阿德里安·莫阿特(Adrian Mouat) 著;黄彦邦 译

出 版 社:人民邮电出版社

丛 书:图灵程序设计丛书

出版时间:2017年03月

定  价:79.00

I S B N :9787115449573

所属分类: 专业科技  >  计算机/网络  >  程序设计    

标  签:编程语言与程序设计  计算机?网络  

[查看微博评论]

分享到:

TOP内容简介

Docker容器轻量和可移植的特性尤其适用于动态和分布式的环境,它的兴起给软件开发流程带来了一场革命。Docker开发指南对Docker进行了全面讲解,包括开发、生产以至维护的整个软件生命周期,并对其中可能出现的一些问题进行了探讨,如软件版本差异、开发环境与生产环境的差异、系统安全问题,等等。


TOP作者简介

Adrian Mouat,Container Solutions公司首席科学家。参与过很多软件项目,既有小型的Web应用,也有大型数据分析软件。

【译者简介】

黄彦邦(Anthony Wong)

Linux开发专家,热衷于开源技术,从事Linux相关开发工作十多年,曾参与多个大型开源项目,如Debian GNU/Linux和Ubuntu,提交补丁无数。以推动Debian系统中文化以及网站和文档翻译为目标,1998年成为中国首位Debian计划官方开发者。

个人网站:http://blog.anthonywong.net


TOP目录

前言 xi

第一部分 背景与基础

第 1 章 何谓容器,为何需要它 3

1.1 容器与虚拟机的比较 4

1.2 Docker与容器 5

1.3 Docker的历史 7

1.4 插件与基础设施 8

1.5 64位Linux 9

第 2 章 安装 10

2.1 在Linux上安装 Docker 10

2.1.1 将SELinux置于宽容模式下运行 11

2.1.2 不使用sudo命令执行Docker 11

2.2 在Mac OS及Windows上安装Docker 12

2.3 快速确认 13

第 3 章 迈出第一步 15

3.1 运行第一个镜像 15

3.2 基本命令 16

3.3 通过Dockerfile创建镜像 20

3.4 使用寄存服务 22

3.5 使用Redis官方镜像 24

3.6 总结 27

第 4 章 Docker基本概念 28

4.1 Docker系统架构 28

4.1.1 底层技术 29

4.1.2 周边技术 30

4.1.3 Docker托管 31

4.2 镜像是如何生成的 32

4.2.1 构建环境的上下文 32

4.2.2 镜像层 33

4.2.3 缓存 35

4.2.4 基础镜像 35

4.2.5 Dockerfile指令 37

4.3 使容器与世界相连 39

4.4 容器互联 40

4.5 利用数据卷和数据容器管理数据 41

4.5.1 共享数据 43

4.5.2 数据容器 44

4.6 Docker常用命令 45

4.6.1 run命令 46

4.6.2 容器管理 48

4.6.3 Docker信息 50

4.6.4 容器信息 50

4.6.5 镜像管理 52

4.6.6 使用寄存服务器 54

4.7 总结 55

第二部分 Docker与软件生命周期

第 5 章 在开发中应用Docker 59

5.1 说声“Hello World!” 59

5.2 通过Compose实现自动化 67

5.3 总结 69

第 6 章 创建一个简单的Web应用 71

6.1 创建一个基本网页 72

6.2 利用现有镜像 73

6.3 实现缓存功能 78

6.4 微服务 81

6.5 总结 81

第 7 章 镜像分发 82

7.1 镜像及镜像库的命名方式 82

7.2 Docker Hub 83

7.3 自动构建 85

7.4 私有分发 86

7.4.1 运行自己的寄存服务 86

7.4.2 商业寄存服务 92

7.5 缩减镜像大小 92

7.6 镜像出处 94

7.7 总结 94

第 8 章 Docker持续集成与测试 95

8.1 为identidock添加单元测试 95

8.2 创建Jenkins容器 100

8.3 推送镜像 106

8.3.1 给镜像正确的标签 106

8.3.2 准生产及生产环境 108

8.3.3 镜像数量激增的问题 108

8.3.4 使用Docker部署Jenkins slaves 109

8.4 备份Jenkins数据 109

8.5 持续集成的托管解决方案 109

8.6 测试与微服务 110

8.7 总结 111

第 9 章 部署容器 113

9.1 通过Docker Machine配置资源 114

9.2 使用代理 117

9.3 执行选项 122

9.3.1 shell脚本 122

9.3.2 使用进程管理器(或用systemd控制所有进程) 124

9.3.3 使用配置管理工具 127

9.4 主机配置 130

9.4.1 选择操作系统 130

9.4.2 选择存储驱动程序 130

9.5 专门的托管方案 132

9.5.1 Triton 132

9.5.2 谷歌容器引擎 134

9.5.3 亚马逊EC2容器服务 135

9.5.4 Giant Swarm 136

9.6 持久性数据和生产环境容器 138

9.7 分享秘密信息 139

9.7.1 在镜像中保存秘密信息 139

9.7.2 通过环境变量传递密钥 139

9.7.3 通过数据卷传递密钥 140

9.7.4 使用键值存储 140

9.8 网络连接 141

9.9 生产环境的寄存服务 141

9.10 持续部署 / 交付 141

9.11 总结 142

第 10 章 日志记录和监控 143

10.1 日志记录 144

10.1.1 Docker默认的日志记录 144

10.1.2 日志汇总 145

10.1.3 使用ELK进行日志记录 146

10.1.4 通过syslog实现日志管理 155

10.1.5 从文件抓取日志 160

10.2 监控和警报 161

10.2.1 使用Docker工具进行监测 161

10.2.2 cAdvisor 162

10.2.3 集群解决方案 163

10.3 商用的监听及日志记录解决方案 166

10.4 总结 166

第三部分 工具和技术

第 11 章 联网和服务发现 169

11.1 大使容器 170

11.2 服务发现 173

11.2.1 etcd 173

11.2.2 SkyDNS 177

11.2.3 Consul 181

11.2.4 服务注册 185

11.2.5 其他解决方案 186

11.3 联网选项 187

11.3.1 网桥模式 187

11.3.2 主机模式 188

11.3.3 容器模式 188

11.3.4 未联网模式 188

11.4 全新的Docker联网功能 188

11.5 网络解决方案 190

11.5.1 Overlay 191

11.5.2 Weave 193

11.5.3 Flannel 196

11.5.4 Calico项目 201

11.6 总结 205

第 12 章 编排、集群和管理 207

12.1 集群和编排工具 208

12.1.1 Swarm 208

12.1.2 fleet 214

12.1.3 Kubernetes 219

12.1.4 Mesos和Marathon 226

12.2 容器管理平台 235

12.2.1 Rancher 236

12.2.2 Clocker 237

12.2.3 Tutum 238

12.3 总结 239

第 13 章 容器安全与限制容器 241

13.1 需要考虑的事项 242

13.2 纵深防御 244

13.3 如何保护identidock 245

13.4 以主机隔离容器 246

13.5 进行更新 246

13.6 镜像出处 249

13.6.1 Docker摘要 250

13.6.2 Docker的内容信任机制 250

13.6.3 可复制及可信任的Dockerfile 254

13.7 安全建议 256

13.7.1 设置用户 256

13.7.2 限制容器联网 257

13.7.3 删除setuid和setgid的二进制文件 258

13.7.4 限制内存使用 259

13.7.5 限制CPU使用 260

13.7.6 限制重新启动 261

13.7.7 限制文件系统 261

13.7.8 限制内核能力 262

13.7.9 应用资源限制 263

13.8 运行加固内核 264

13.9 Linux安全模块 265

13.9.1 SELinux 265

13.9.2 AppArmor 268

13.10 审核 268

13.11 事件响应 269

13.12 未来特性 269

13.13 总结 270

作者简介 271

关于封面 271


TOP书摘

TOP 其它信息

加载页面用时:75.6853