本书是一本Docker入门图书,全书分为17章,从Docker概览和Docker技术两部分进行全面解析,深入浅出地介绍了Docker的相关知识,清晰详细的操作步骤结合大量的实际代码帮助读者学以致用,将Docker知识应用到真实的项目开发当中。
本书适合对Docker感兴趣的入门新手、Docker技术开发人员以及运维人员阅读,本书也可作为Docker认证工程师考试的参考图书。
Nigel Poulton,亚马逊畅销图书作者,存储专家,Docker技术先驱。Nigel有丰富的运维技术经验,著有多部容器相关的图书,并开设了视频培训课程,在业界有非常大的影响力。
《深入浅出Docker》由Docker概览和Docker技术两部分组成,遵循简介—详解—命令的章节布局,全面系统地剖析Docker的基本原理与实践应用。清晰详细的操作步骤结合大量的实际代码,为读者切实入门Docker保驾护航。
《深入浅出Docker》持续位居亚马逊榜单前列,图书内容经过多次补充完善,保证核心技术的实时更新。作为一本Docker实践指导手册,《深入浅出Docker》能够帮助读者从零开始走进Docker的世界。想要通过Docker认证工程师(DCA)考试的读者也将从本书中获益。
本书特色
零基础起步,帮助读者快速建立Docker技术知识体系
抽丝剥茧,层层深入,清晰透彻地阐述复杂的逻辑
涵盖广泛,从安装入门到应用部署,展示Docker应用全景
本书内容
容器发展之路
走进Docker
Docker安装
纵观Docker
Docker引擎
Docker镜像
Docker容器
应用的容器化
使用Docker Compose部署应用
Docker Swarm
Docker网络
Docker覆盖网络
卷与持久化数据
使用Docker Stack部署应用
Docker安全
企业版工具
企业级特性
安全客户端与daemon的通信
DCA考试
延伸
Nigel Poulton,Docker Captains专家,亚马逊畅销图书作者,存储专家,Docker技术先驱。Nigel有丰富的运维技术经验,著有多部容器相关的图书,并开设了视频培训课程,在业界有非常大的影响力。
出版了《Docker Deep Dive》《The Kubernetes Book 》等图书。
第 一部分 Docker概览
第 1章 容器发展之路 2
1.1 落后的旧时代 2
1.2 你好,VMware! 2
1.3 虚拟机的不足 3
1.4 你好,容器! 3
1.5 Linux容器 3
1.6 你好,Docker! 4
1.7 Windows容器 4
1.8 Windows容器vs Linux容器 4
1.9 Mac容器现状 5
1.10 Kubernetes 5
1.11 本章小结 6
第 2章 走进Docker 7
2.1 Docker—简介 7
2.2 Docker公司 7
2.3 Docker运行时与编排引擎 8
2.4 Docker开源项目(Moby) 9
2.5 容器生态 10
2.6 开放容器计划 11
2.7 本章小结 12
第3章 Docker安装 13
3.1 Windows版Docker(DfW) 13
3.2 Mac版Docker(DfM) 17
3.3 在Linux上安装Docker 19
3.4 在Windows Server 2016上安装Docker 21
3.5 Docker引擎(Engine)升级 22
3.5.1 在Ubuntu 16.04上升级Docker CE 23
3.5.2 在Windows Server 2016上升级Docker EE 24
3.6 Docker存储驱动的选择 25
3.6.1 Device Mapper配置 26
3.6.2 让Docker自动设置direct-lvm 26
3.6.3 手动配置Device Mapper的direct-lvm 28
3.7 本章小结 28
第4章 纵观Docker 29
4.1 运维视角 29
4.1.1 镜像 30
4.1.2 容器 31
4.1.3 连接到运行中的容器 34
4.2 开发视角 35
4.3 本章小结 38
第二部分 Docker技术
第5章 Docker引擎 40
5.1 Docker引擎—简介 40
5.2 Docker引擎—详解 41
5.2.1 摆脱LXC 41
5.2.2 摒弃大而全的Docker daemon 42
5.2.3 开放容器计划(OCI)的影响 43
5.2.4 runc 43
5.2.5 containerd 43
5.2.6 启动一个新的容器(示例) 44
5.2.7 该模型的显著优势 45
5.2.8 shim 45
5.2.9 在Linux中的实现 46
5.2.10 daemon的作用 46
5.3 本章小结 46
第6章 Docker镜像 48
6.1 Docker镜像—简介 48
6.2 Docker镜像—详解 48
6.2.1 镜像和容器 49
6.2.2 镜像通常比较小 49
6.2.3 拉取镜像 49
6.2.4 镜像命名 51
6.2.5 镜像仓库服务 51
6.2.6 镜像命名和标签 52
6.2.7 为镜像打多个标签 54
6.2.8 过滤docker image ls的输出内容 55
6.2.9 通过CLI方式搜索Docker Hub 56
6.2.10 镜像和分层 57
6.2.11 共享镜像层 60
6.2.12 根据摘要拉取镜像 61
6.2.13 镜像散列值(摘要) 63
6.2.14 多层架构的镜像 63
6.2.15 删除镜像 65
6.3 镜像—命令 67
6.4 本章小结 67
第7章 Docker容器 68
7.1 Docker容器—简介 68
7.2 Docker容器—详解 69
7.2.1 容器vs虚拟机 69
7.2.2 虚拟机的额外开销 71
7.2.3 运行的容器 71
7.2.4 检查Docker daemon 71
7.2.5 启动一个简单容器 72
7.2.6 容器进程 74
7.2.7 容器生命周期 75
7.2.8 优雅地停止容器 78
7.2.9 利用重启策略进行容器的自我修复 78
7.2.10 Web服务器示例 80
7.2.11 查看容器详情 82
7.2.12 快速清理 82
7.3 容器—命令 83
7.4 本章小结 84
第8章 应用的容器化 85
8.1 应用的容器化—简介 85
8.2 应用的容器化—详解 86
8.2.1 单体应用容器化 86
8.2.2 生产环境中的多阶段构建 95
8.2.3 最佳实践 98
8.3 应用的容器化—命令 100
8.4 本章小结 101
第9章 使用Docker Compose部署应用 102
9.1 使用Docker Compose部署应用—简介 102
9.2 使用Docker Compose部署应用—详解 103
9.2.1 Docker Compose的背景 103
9.2.2 安装Docker Compose 103
9.2.3 Compose文件 105
9.2.4 使用Docker Compose部署应用 107
9.2.5 使用Docker Compose管理应用 110
9.3 使用Docker Compose部署应用—命令 115
9.4 本章小结 116
第 10章 Docker Swarm 117
10.1 Docker Swarm—简介 117
10.2 Docker Swarm—详解 118
10.2.1 Swarm的初步介绍 118
10.2.2 搭建安全Swarm集群 119
10.2.3 Swarm服务 125
10.2.4 故障排除 133
10.3 Docker Swarm—命令 134
10.4 本章小结 135
第 11章 Docker网络 136
11.1 Docker网络—简介 136
11.2 Docker网络—详解 137
11.2.1 基础理论 137
11.2.2 单机桥接网络 140
11.2.3 多机覆盖网络 146
11.2.4 接入现有网络 146
11.2.5 服务发现 152
11.2.6 Ingress网络 153
11.3 Docker网络—命令 156
11.4 本章小结 156
第 12章 Docker覆盖网络 157
12.1 Docker覆盖网络—简介 157
12.2 Docker覆盖网络—详解 157
12.2.1 在Swarm模式下构建并测试Docker覆盖网络 158
12.2.2 工作原理 164
12.3 Docker覆盖网络—命令 168
12.4 本章小结 168
第 13章 卷与持久化数据 169
13.1 卷与持久化数据—简介 169
13.2 卷与持久化数据—详解 169
13.2.1 容器与非持久数据 170
13.2.2 容器与持久化数据 170
13.2.3 在集群节点间共享存储 175
13.3 卷与持久化数据—命令 176
13.4 本章小结 176
第 14章 使用Docker Stack部署应用 177
14.1 使用Docker Stack部署应用—简介 177
14.2 使用Docker Stack部署应用—详解 178
14.2.1 简单应用 178
14.2.2 深入分析Stack文件 180
14.2.3 部署应用 186
14.2.4 管理应用 191
14.3 使用Docker Stack部署应用—命令 193
14.4 本章小结 194
第 15章 Docker安全 195
15.1 Docker安全—简介 195
15.2 Docker安全—详解 196
15.2.1 Linux安全技术 197
15.2.2 Docker平台安全技术 201
15.3 本章小结 212
第 16章 企业版工具 213
16.1 企业版工具—简介 213
16.2 企业版工具—详解 214
16.2.1 Docker EE引擎 214
16.2.2 Docker通用控制平面(UCP) 216
16.2.3 Docker可信镜像仓库服务(DTR) 227
16.3 本章小结 233
第 17章 企业级特性 234
17.1 企业级特性—简介 234
17.2 企业级特性—详解 234
17.2.1 基于角色的权限控制(RBAC) 235
17.2.2 集成活动目录 239
17.2.3 Docker内容信任机制(DCT) 241
17.2.4 配置Docker可信镜像仓库服务(DTR) 243
17.2.5 使用Docker可信镜像仓库服务 244
17.2.6 提升镜像 247
17.2.7 HTTP路由网格(HRM) 250
17.3 本章小结 253
附录A 安全客户端与daemon的通信 255
附录B DCA考试 265
附录C 延伸 270