《Docker技术入门与实战(第3版)》

举报
华章计算机 发表于 2019/06/02 02:34:42 2019/06/02
【摘要】 本书摘自《Docker技术入门与实战(第3版)》——作者是杨保华、戴王剑、曹亚仑。

容器技术系列


Docker技术入门与实战

第3版


杨保华 戴王剑 曹亚仑 编著

Docker技术入门与实战 立.jpg


Preface第3版前言

Docker 诞生于云计算第一个十年的尾巴上。眨眼间,它所代表的现代容器技术,已经占据了云计算的半壁江山。

过去十年里,信息科技依然保持了飞跃式的发展:深度学习的突破给人类摆脱重复劳动带来曙光;分布式账本的崛起为赛博空间奠定信任基础;物联网的成熟让整个星球都将变得更加智慧……这一切都离不开底层计算技术的持续演化,特别是新一代容器化计算平台,为经典计算结构释放出了巨大的潜力。

而计算科技的进步,一直以来就与开源技术和开放文化息息相关。无论是早期的 Unix/Linux 操作系统,还是后来包括 Docker 在内的诸多应用软件,都积极推动了整个信息产业的发展。当下正是新一波科技浪潮来临前的关键时期,掌握最前沿的科技成果,学习最先进的开源工具,对于推动我国乃至全球信息产业的进步都至关重要。

信息科技是全人类的宝贵财富,也是现代文明的基础支撑。每一个信息行业从业人员都应该意识到,持续推动科技创新和文明进步,是时代赋予的重要责任。

Docker 容器技术臻于成熟后,社区涌现出众多优秀的开源项目。这些项目或让计算更加高效便捷,或让平台更加稳定智能,共同构建了繁荣的容器计算生态。围绕这些最新进展,本书第3版重点介绍了容器核心技术的最新特性,让读者可以更好地掌握和使用最先进的容器技术。

出版之际,本书开源版本的访问量已经突破一千万,真诚感谢近百位同仁对图书内容的积极建议和反馈。

祝愿世界更加美好,祝愿人人都能快乐幸福!


杨保华

2018年7月于北京





目  录Contents

第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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。