描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302626107
本书从实操入手,循序渐进地讲解Docker的基本概念、基本原理、核心技术及其使用示例,并结合Docker 部署 Web 应用的综合案例,解析从创建项目开始,到构建镜像、创建容器,再到与Web Server交互及部署的完整过程。本书还讲解了通过Docker Desktop使用Kubernetes的基础知识。
近年来,云原生(Cloud Native)可谓是业界最火的概念之一,众多互联网巨头都已经开始积极拥抱云原生,越来越多的生产场景都直接上云,Docker技术也由此得到了广泛的应用。本书用于Docker技术入门,配套示例源码、PPT课件。 本书共分15章,内容包括容器技术的发展历程、Docker的由来与容器生态、Docker 的安装与使用、容器的操作、镜像的操作、应用的容器化、Docker网络、Docker存储、日志管理、Docker Compose部署和管理、Docker Swarm集群管理、Docker实战应用,以及通过Docker Desktop使用Kubernetes。 本书内容详尽、示例丰富,是广大Docker初学者必备的参考书和工具书。本书也适合作为高等院校大数据、计算机软件等专业的教材。
第1章 容器技术的发展 1
1.1 什么是容器 1
1.2 为什么需要容器 3
1.3 容器技术的发展历程 5
1.4 容器的优缺点 6
1.4.1 容器的优点 6
1.4.2 容器的缺点 7
1.5 Docker容器是如何工作的 7
第2章 Docker简介 11
2.1 什么是Docker 11
2.2 Docker的由来与发展历程 12
2.3 Docker的架构与组成 13
2.3.1 Docker的架构 13
2.3.2 Docker中应用系统的存在形式 15
2.4 Docker容器生态系统 15
2.4.1 容器核心技术 15
2.4.2 容器平台技术 16
2.4.3 容器支持技术 17
2.5 为什么使用Docker 18
2.5.1 Docker的应用场景 18
2.5.2 Docker可以解决哪些问题 19
2.5.3 Docker的应用成本 19
第3章 Docker的安装与使用 20
3.1 在Windows中安装Docker 20
3.1.1 安装WSL 2 20
3.1.2 安装Docker Desktop for Windows 22
3.2 在Ubuntu中安装Docker 24
3.2.1 安装Docker 24
3.2.2 运行Docker 26
3.2.3 使用docker命令 27
3.2.4 使用Docker镜像 28
3.3 在Mac OS中安装Docker 30
3.3.1 使用Homebrew安装 30
3.3.2 手动下载安装 31
第4章 操作容器 33
4.1 容器的生命周期 33
4.2 创建容器 34
4.3 管理容器 36
4.4 启动与终止 37
4.5 进入容器 38
4.6 导出和导入 38
第5章 Docker引擎 40
5.1 Docker引擎简介 40
5.2 Docker引擎的组件构成 42
5.2.1 runc 42
5.2.2 containerd 42
第6章 Docker镜像 44
6.1 镜像构成 44
6.2 获取镜像 45
6.3 列出镜像 46
6.4 删除本地镜像 47
6.5 定制镜像 47
6.5.1 使用docker commit命令定制镜像 48
6.5.2 使用docker build命令 Dockerfile文件定制镜像 50
第7章 Docker容器 52
7.1 Docker容器简介 52
7.2 资源限制 52
7.2.1 内存资源限制 53
7.2.2 容器的内存限制 53
7.2.3 容器的CPU限制 56
7.3 容器的底层技术 61
7.3.1 Cgroup 61
7.3.2 Namespace 62
7.3.3 联合文件系统(AUFS) 64
7.3.4 LXC 64
第8章 应用的容器化 65
8.1 应用容器化简介 65
8.2 单体应用容器化 66
8.3 生成环境中的多阶段构建 69
8.4 常用的命令 71
第9章 Docker网络模式 73
9.1 Docker网络模式简介 73
9.2 bridge网络模式 74
9.3 host网络模式 77
9.4 none网络模式 78
9.5 container网络模式 78
9.6 user-defined网络模式 79
9.6.1 创建自定义的bridge网络 79
9.6.2 使用自定义网络 81
9.7 高级网络配置 82
第10章 Docker存储 86
10.1 Docker存储简介 86
10.2 storage driver 87
10.3 data volume 88
10.3.1 volume 88
10.3.2 bind mount 90
10.3.3 tmpfs mount 91
第11章 日志管理 93
11.1 查看引擎日志 93
11.2 查看容器日志 94
11.3 清理容器日志 95
11.4 日志驱动程序 97
11.4.1 日志驱动程序概述 97
11.4.2 local日志驱动 98
11.4.3 json-file日志驱动 99
11.4.4 syslog日志驱动 100
11.4.5 日志驱动的选择 100
第12章 Docker Compose 104
12.1 Docker Compose简介 104
12.2 安装Docker Compose 105
12.3 模板文件语法 106
12.3.1 docker-compose.yml语法说明 106
12.3.2 YAML文件格式及编写注意事项 114
12.3.3 Docker Compose常用命令 115
12.3.4 Docker Compose常用命令汇总清单 120
12.4 使用 Docker Compose构建Web应用 120
第13章 Docker Swarm 124
13.1 Docker Swarm架构与概念 124
13.1.1 Docker Swarm架构 124
13.1.2 Docker Swarm相关概念 125
13.1.3 Docker Swarm的特点 126
13.1.4 Docker Swarm的工作流 127
13.2 部署Swarm集群 128
13.2.1 准备工作 128
13.2.2 创建集群 129
13.2.3 加入集群 129
13.2.4 查看集群节点信息 130
13.2.5 删除节点 131
13.2.6 创建服务 133
13.2.7 弹性扩缩容 134
13.3 Docker Swarm调度策略 134
13.4 滚动升级 134
13.5 Docker Swarm常用指令 136
第14章 Docker实战应用 138
14.1 Web应用概要 138
14.2 创建Web应用 139
14.3 构建Web镜像 141
14.4 创建接口服务 145
14.5 构建Server镜像 146
14.6 跨域转发请求 148
14.7 部署MySQL 156
第15章 通过Docker Desktop使用Kubernetes 165
15.1 Kubernetes基本概念 165
15.1.1 Cluster 166
15.1.2 Pod 167
15.1.3 Node 168
15.1.4 Namespace 168
15.1.5 Service 168
15.1.6 Label 169
15.2 Kubernetes架构设计简介 169
15.3 Kubernetes使用示例 171
15.3.1 启用Kubernetes 171
15.3.2 使用Kubernetes 172
15.3.3 创建MySQL 173
15.3.4 使用命名空间部署MySQL 176
Docker的核心作用是什么
虚拟化和容器已经不是什么新的概念了,我们知道Docker是一个开源的应用容器引擎,它利用软件和基础环境打包分发的Infrastructure As Code(基础设施即代码)思想,使得 Docker可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的应用容器。
Docker为何会出现
随着容器技术20年来如火如荼的发展,目前众多的互联网巨头都已经开始积极拥抱云原生。容器作为一种先进的虚拟化技术,已然成为云原生时代软件开发和运维的标准基础设施。容器技术需要解决的核心问题之一是运行时的环境隔离,容器需要运行时隔离技术来保证容器的运行环境符合预期。Docker通过容器镜像,将应用程序与运行该程序所需要的环境,打包放在一个文件里面,解决了如何发布软件和如何运行软件的问题。Docker的出现大力推动了云原生的发展。
Docker和传统虚拟化方式的不同之处
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上再运行所需的应用进程。Docker 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,也没有进行硬件虚拟,因此容器要比传统虚拟机更为轻便。Docker 每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能够区分计算资源。
学习Docker有什么好处
首先,随着云应用的普及,越来越多日常的环境部署和测试搭建,以及相关的软件开发、测试和部署都是在云上执行。
其次,了解Docker一次构建、随处运行的理念,能够实现更快速的应用交付和部署、更便捷的升级和扩缩容、更简单的系统运维、更高效的计算资源利用,以实现交付标准化、资源轻量化。一次打包、到处运行的特点,使得迁移成本直线下降。例如要将数据从公有云迁至私有云,只需要迁移数据、迁移容器就可以快速完成。
本书适合你吗
本书将介绍Docker的基本概念、基本原理和核心技术;本书将详细讲解容器技术的发展历程,同时理解容器的工作原理;本书会涉及Docker核心技术介绍和使用案例,包括镜像、容器的基础概念和基本操作方法;本书从现实的操作指令出发,解决实操问题;本书提供实际项目的完整实践过程,从创建项目开始,到构建镜像、创建容器,再到与Web Server的交互及其实际运维操作;本书最后还给出通过Docker使用Kubernetes的操作步骤。
本书特点
(1)讲解细致,分析透彻。不论是理论知识的介绍,还是实例的开发,本书都从实际应用的角度出发,精心选择开发中的典型例子进行分析和讲解。
(2)深入浅出、轻松易学。本书以清晰详细的操作步骤结合大量的实际代码为主线,激发读者的阅读兴趣,让读者能够真正学习到 Docker最实用、最前沿的技术。
(3)技术新颖、与时俱进。本书结合时下最热门的技术,如 Compose、Swarm、Kubernetes,让读者在学习Docker的同时,熟悉更多相关的先进技术。
(4)贴近读者、贴近实际。大量常用指令的用法和说明,帮助读者快速找到问题的最优解决方案,将Docker知识应用到真实的项目开发中。
(5)贴心提醒,要点突出。本书根据需要使用了很多“注意”“说明”等提示,让读者可以在学习过程中更轻松地理解相关知识点及概念。
本书读者
Docker初学者。
Docker技术开发人员。
前端开发工程师。
后端开发工程师。
微服务软件开发人员。
IT实施和运维工程师。
高等院校与培训学校师生。
配套示例源码、PPT课件下载
本书配套示例源码、PPT课件,需要用微信扫描下面的二维码获取,可按扫描后的页面提示填写你的邮箱,把下载链接转发到邮箱中下载。如果阅读中发现问题或建议,请用电子邮件联系[email protected],邮件主题为“Docker快速入门”。
笔 者
2023年1月
评论
还没有评论。