第一部分 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
· · · · · · (
收起)