共计 5347 个字符,预计需要花费 14 分钟才能阅读完成。
网站
更多书籍点击进入 >> <font color=blue>CiCi 岛 </font>
下载
<font color=red>电子版仅供预览及学习交流使用,下载后请 24 小时内删除,支持正版,喜欢的请购买正版书籍</font>
- <font color=blue> 电子书下载 </font>(皮皮云盘 - 点击“普通下载”)
- <font color=blue> 购买正版 </font>
封页
编辑推荐
入门 Docker 的首本书,经典畅销书升级,系统化掌握容器技术栈,第 3 版基于 Docker 新 18.x 系列版本。
内容简介
本书从 Docker 基本原理开始,深入浅出地讲解 Docker 的构建与操作,内容系统全面,可帮助开发人员、运维人员快速部署 Docker 应用。本书分为四大部分:基础入门、实战案例、进阶技能、开源项目,* 部分(第 1~8 章)介绍 Docker 与虚拟化技术的基本概念,包括安装、镜像、容器、仓库、数据卷、端口映射等;第二部分(第 9~16 章)通过案例介绍 Docker 的应用方法,包括与各种操作系统平台、SSH 服务的镜像、Web 服务器与应用、数据库的应用、各类编程语言的接口、容器云等,还介绍了作者在容器实战中的思考与经验总结;第三部分(第 17~21 章)介绍一些进阶技能,如 Docker 核心技术实现原理、安全、高级网络配置、libnetwork 插件化网络功能等;第四部分(第 22~28 章)介绍与容器开发相关的开源项目,包括 Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes 等。第 3 版根据 Docker 18.x 系列版本对全书内容进行了全面修订。
作者简介
杨保华:博士,现为甲骨文架构师。研究方向包括分布式系统、大数据和算法设计等,是容器、网络虚拟化、区块链等技术的早期研究者和布道者。他倡导技术创新与产品、市场相结合,曾负责多个大型平台的架构和设计,以及企业系统的实现和实施。他热爱开源文化,曾积极贡献了多个开源项目。
目 录
第 3 版前言
第一部分 基础入门
第 1 章 初识 Docker 与容器 3
1.1 什么是 Docker 3
1.2 为什么要使用 Docker 6
1.3 Docker 与虚拟化 8
1.4 本章小结 9
第 2 章 核心概念与安装配置 10
2.1 核心概念 10
2.2 安装 Docker 引擎 11
2.2.1 Ubuntu 环境下安装 Docker 12
2.2.2 CentOS 环境下安装 Docker 14
2.2.3 通过脚本安装 15
2.2.4 macOS 环境下安装 Docker 15
2.2.5 Windows 环境下安装 Docker 23
2.3 配置 Docker 服务 26
2.4 推荐实践环境 27
2.5 本章小结 27
第 3 章 使用 Docker 镜像 28
3.1 获取镜像 28
3.2 查看镜像信息 30
3.3 搜寻镜像 32
3.4 删除和清理镜像 33
3.5 创建镜像 35
3.6 存出和载入镜像 36
3.7 上传镜像 37
3.8 本章小结 38
第 4 章 操作 Docker 容器 39
4.1 创建容器 39
4.2 停止容器 44
4.3 进入容器 46
4.4 删除容器 47
4.5 导入和导出容器 48
4.6 查看容器 49
4.7 其他容器命令 50
4.8 本章小结 52
第 5 章 访问 Docker 仓库 53
5.1 Docker Hub 公共镜像市场 53
5.2 第三方镜像市场 55
5.3 搭建本地私有仓库 56
5.4 本章小结 58
第 6 章 Docker 数据管理 59
6.1 数据卷 59
6.2 数据卷容器 60
6.3 利用数据卷容器来迁移数据 62
6.4 本章小结 62
第 7 章 端口映射与容器互联 63
7.1 端口映射实现容器访问 63
7.2 互联机制实现便捷互访 64
7.3 本章小结 67
第 8 章 使用 Dockerfile 创建镜像 68
8.1 基本结构 68
8.2 指令说明 70
8.2.1 配置指令 71
8.2.2 操作指令 74
8.3 创建镜像 75
8.3.1 命令选项 76
8.3.2 选择父镜像 77
8.3.3 使用.dockerignore 文件 77
8.3.4 多步骤创建 78
8.4 最佳实践 79
8.5 本章小结 80
第二部分 实战案例
第 9 章 操作系统 83
9.1 BusyBox 83
9.2 Alpine 85
9.3 Debian/Ubuntu 86
9.4 CentOS/Fedora 88
9.5 本章小结 89
第 10 章 为镜像添加 SSH 服务 90
10.1 基于 commit 命令创建 90
10.2 使用 Dockerfile 创建 93
10.3 本章小结 95
第 11 章 Web 服务与应用 96
11.1 Apache 96
11.2 Nginx 100
11.3 Tomcat 104
11.4 Jetty 108
11.5 LAMP 109
11.6 持续开发与管理 111
11.7 本章小结 114
第 12 章 数据库应用 115
12.1 MySQL 115
12.2 Oracle Database XE 117
12.3 MongoDB 118
12.4 Redis 124
12.5 Cassandra 126
12.6 本章小结 129
第 13 章 分布式处理与大数据平台 130
13.1 Hadoop 130
13.2 Spark 133
13.3 Storm 136
13.4 Elasticsearch 140
13.5 本章小结 141
第 14 章 编程开发 142
14.1 C/C++ 142
14.2 Java 146
14.3 Python 149
14.3.1 使用 Python 官方镜像 150
14.3.2 使用 PyPy 151
14.3.3 使用 Flask 151
14.3.4 相关资源 154
14.4 JavaScript 154
14.4.1 使用 Node.js 154
14.4.2 相关资源 158
14.5 Go 158
14.6 本章小结 161
第 15 章 容器与云服务 162
15.1 公有云容器服务 162
15.1.1 AWS 162
15.1.2 Google Cloud Platform 163
15.1.3 Azure 164
15.1.4 腾讯云 165
15.1.5 阿里云 165
15.1.6 华为云 166
15.1.7 UCloud 167
15.2 容器云服务 168
15.3 阿里云容器服务 172
15.4 时速云介绍 174
15.5 本章小结 175
第 16 章 容器实战思考 176
16.1 Docker 为什么会成功 176
16.2 研发人员该如何看待容器 177
16.3 容器化开发模式 178
16.4 容器与生产环境 180
16.5 本章小结 182
第三部分 进阶技能
第 17 章 核心实现技术 185
17.1 基本架构 185
17.2 命名空间 187
17.3 控制组 191
17.4 联合文件系统 193
17.5 Linux 网络虚拟化 195
17.6 本章小结 197
第 18 章 配置私有仓库 199
18.1 安装 Docker Registry 199
18.2 配置 TLS 证书 201
18.3 管理访问权限 202
18.4 配置 Registry 205
18.5 批量管理镜像 211
18.6 使用通知系统 214
18.7 本章小结 217
第 19 章 安全防护与配置 218
19.1 命名空间隔离的安全 218
19.2 控制组资源控制的安全 219
19.3 内核能力机制 219
19.4 Docker 服务端的防护 221
19.5 更多安全特性的使用 221
19.6 使用第三方检测工具 222
19.6.1 Docker Bench 222
19.6.2 clair 223
19.7 本章小结 224
第 20 章 高级网络功能 225
20.1 启动与配置参数 225
20.2 配置容器 DNS 和主机名 227
20.3 容器访问控制 228
20.4 映射容器端口到宿主主机的实现 229
20.5 配置容器网桥 231
20.6 自定义网桥 232
20.7 使用 OpenvSwitch 网桥 233
20.8 创建一个点到点连接 235
20.9 本章小结 236
第 21 章 libnetwork 插件化网络功能 237
21.1 容器网络模型 237
21.2 Docker 网络命令 238
21.3 构建跨主机容器网络 241
21.4 本章小结 243
第四部分 开源项目
第 22 章 Etcd—高可用的键值数据库 247
22.1 Etcd 简介 247
22.2 安装和使用 Etcd 248
22.3 使用客户端命令 253
22.3.1 数据类操作 255
22.3.2 非数据类操作 258
22.4 Etcd 集群管理 260
22.4.1 构建集群 260
22.4.2 集群参数配置 263
22.5 本章小结 264
第 23 章 Docker 三剑客之 Machine 265
23.1 Machine 简介 265
23.2 安装 Machine 265
23.3 使用 Machine 266
23.4 Machine 命令 268
23.5 本章小结 272
第 24 章 Docker 三剑客之 Compose 273
24.1 Compose 简介 273
24.2 安装与卸载 274
24.3 Compose 模板文件 277
24.4 Compose 命令说明 292
24.5 Compose 环境变量 299
24.6 Compose 应用案例一:Web 负载均衡 300
24.7 Compose 应用案例二:大数据 Spark 集群 304
24.8 本章小结 309
第 25 章 Docker 三剑客之 Swarm 310
25.1 Swarm 简介 310
25.2 基本概念 311
25.3 使用 Swarm 313
25.4 使用服务命令 316
25.5 本章小结 319
第 26 章 Mesos—优秀的集群资源调度平台 321
26.1 简介 321
26.2 Mesos 安装与使用 322
26.3 原理与架构 330
26.3.1 架构 330
26.3.2 基本单元 331
26.3.3 调度 331
26.3.4 高可用性 332
26.4 Mesos 配置解析 333
26.4.1 通用项 333
26.4.2 master 专属配置项 333
26.4.3 slave 专属配置项 335
26.5 日志与监控 338
26.6 常见应用框架 340
26.7 本章小结 341
第 27 章 Kubernetes—生产级容器集群平台 343
27.1 简介 343
27.2 核心概念 345
27.3 资源抽象对象 348
27.3.1 容器组 348
27.3.2 服务 349
27.3.3 存储卷 350
27.4 控制器抽象对象 351
27.5 其他抽象对象 353
27.6 快速体验 355
27.7 重要组件 359
27.7.1 Etcd 360
27.7.2 kube-apiserver 360
27.7.3 kube-scheduler 361
27.7.4 kube-controller-manager 362
27.7.5 kubelet 363
27.7.6 kube-proxy 364
27.8 使用 kubectl 365
27.8.1 获取 kubectl 365
27.8.2 命令格式 366
27.8.3 全局参数 367
27.8.4 通用子命令 369
27.9 网络设计 372
27.10 本章小结 374
第 28 章 其他相关项目 375
28.1 持续集成 375
28.2 容器管理 377
28.2.1 Portainer 377
28.2.2 Panamax 378
28.2.3 Seagull 378
28.3 编程开发 380
28.4 网络支持 381
28.4.1 Pipework 381
28.4.2 Flannel 项目 382
28.4.3 Weave Net 项目 382
28.4.4 Calico 项目 383
28.5 日志处理 383
28.6 服务代理 385
28.7 标准与规范 389
28.8 其他项目 392
28.9 本章小结 396
附录
附录 A 常见问题总结 398
附录 B Docker 命令查询 404
附录 C 参考资源链接 411
前 言
Docker 诞生于云计算第一个十年的尾巴上。眨眼间,它所代表的现代容器技术,已经占据了云计算的半壁江山。
过去十年里,信息科技依然保持了飞跃式的发展:深度学习的突破给人类摆脱重复劳动带来曙光;分布式账本的崛起为赛博空间奠定信任基础;物联网的成熟让整个星球都将变得更加智慧……这一切都离不开底层计算技术的持续演化,特别是新一代容器化计算平台,为经典计算结构释放出了巨大的潜力。
而计算科技的进步,一直以来就与开源技术和开放文化息息相关。无论是早期的 Unix/Linux 操作系统,还是后来包括 Docker 在内的诸多应用软件,都积极推动了整个信息产业的发展。当下正是新一波科技浪潮来临前的关键时期,掌握最前沿的科技成果,学习最先进的开源工具,对于推动我国乃至全球信息产业的进步都至关重要。
信息科技是全人类的宝贵财富,也是现代文明的基础支撑。每一个信息行业从业人员都应该意识到,持续推动科技创新和文明进步,是时代赋予的重要责任。
Docker 容器技术臻于成熟后,社区涌现出众多优秀的开源项目。这些项目或让计算更加高效便捷,或让平台更加稳定智能,共同构建了繁荣的容器计算生态。围绕这些最新进展,本书第 3 版重点介绍了容器核心技术的最新特性,让读者可以更好地掌握和使用最先进的容器技术。
出版之际,本书开源版本的访问量已经突破一千万,真诚感谢近百位同仁对图书内容的积极建议和反馈。
祝愿世界更加美好,祝愿人人都能快乐幸福!
杨保华
2018 年 7 月于北京
本篇文章由一文多发平台 ArtiPub 自动发布