Docker技术入门与实战 PDF
内容介绍
新手入门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