图书目录

目录

 

第1章  KVM概述   1

1.1  虚拟化技术简介   1

1.1.1  虚拟化的定义   1

1.1.2  操作系统虚拟化的发展历史   2

1.1.3  虚拟化的分类   2

1.1.4  虚拟化的目的   3

1.2  KVM简介   3

1.2.1  什么是KVM   4

1.2.2  KVM的发展史   4

1.2.3  KVM历史大事件   4

1.2.4  KVM的功能   4

1.2.5  KVM的优势   5

1.3  习题   6

第2章  安装KVM   7

2.1  KVM架构解析   7

2.1.1  KVM内核模块   7

2.1.2  QEMU用户态工具   8

2.2  安装环境准备   8

2.2.1  Windows环境准备   8

2.2.2  下载与安装VMware Workstation   10

2.2.3  下载CentOS Steam 9的ISO文件   13

2.2.4  创建新虚拟机   14

2.3  图形化安装KVM   20

2.3.1  克隆虚拟机   20

2.3.2  为虚拟机安装操作系统   23

2.3.3  图形化下安装KVM   29

2.4  系统最小化安装KVM   32

2.5  KVM管理工具   37

2.5.1  libvirt   37

2.5.2  virsh   37

2.5.3  virt-manager   38

2.5.4  virt-viewer   38

2.6  习题   39

第3章  创建KVM虚拟机   41

3.1  Virt-Manager图形化创建KVM虚拟机   41

3.1.1  创建虚拟机   41

3.1.2  使用Virt-Manager查看当前配置   51

3.2  virt-install命令创建虚拟机   52

3.2.1  创建虚拟机并通过交互模式安装   53

3.2.2  查看虚拟机与环境的配置   55

3.2.3  virt-install高级用法示例   55

3.3  VNC连接KVM虚拟机   57

3.3.1  什么是VNC   57

3.3.2  VNC服务端   58

3.3.3  VNC客户端   59

3.4  习题   61

第4章  虚拟机管理   63

4.1  libvirt架构描述   63

4.2  使用virsh管理虚拟机   64

4.2.1  获得帮助   65

4.2.2  常用子命令   67

4.3  习题   74

第5章  管理KVM虚拟网络   75

5.1  查看默认网络环境   75

5.1.1  查看宿主机的网络环境   75

5.1.2  查看libvirt的网络环境   77

5.1.3  查看虚拟机的网络配置   80

5.1.4  libvirt管理的虚拟网络   81

5.2  创建和管理隔离网络   81

5.2.1  通过virsh创建和管理隔离

网络   82

5.2.2  使用隔离网络   84

5.3  创建和管理NAT网络   85

5.3.1  使用virsh创建NAT网络   86

5.3.2  使用NAT网络   89

5.4  创建和管理桥接网络   90

5.4.1  在宿主机上创建网桥   91

5.4.2  使用网桥   93

5.5  习题   94

第6章  管理KVM虚拟存储   95

6.1  常见的存储资源   95

6.2  虚拟磁盘类型   96

6.3  qemu-img磁盘管理命令   97

6.3.1  创建和格式化磁盘文件   97

6.3.2  调整磁盘文件的大小   99

6.3.3  镜像文件格式转换   100

6.3.4  快照管理   101

6.4  存储池   103

6.4.1  查看当前存储池   104

6.4.2  存储池分类   105

6.4.3  创建基于目录的存储池   106

6.4.4  创建基于LVM逻辑卷的

存储池   109

6.4.5  创建基于网络文件系统的

存储池   111

6.5  存储卷   114

6.5.1  查看存储卷信息   115

6.5.2  创建存储卷   116

6.5.3  存储卷管理   120

6.6  习题   122

第7章  容器技术简介   123

7.1  容器的定义   123

7.2  实验环境部署   124

7.3  容器与虚拟机   126

7.4  容器的发展史   129

7.5  容器的标准化   131

7.6  容器的应用场景   132

7.7  习题   134

第8章  Docker镜像管理   135

8.1  镜像的作用   135

8.2  获取镜像   136

8.3  镜像的结构   138

8.4  Docker的存储驱动程序   139

8.5  查看镜像信息   144

8.5.1  使用images/image ls子命令

列出镜像   145

8.5.2  使用tag子命令为镜像添加

标签   146

8.5.3  使用inspect子命令查看

详细信息   148

8.5.4  使用history子命令查看

镜像的构建历史   148

8.6  在Docker官方仓库中搜寻

镜像   149

8.7  删除和清理镜像   150

8.7.1  镜像的状态   150

8.7.2  删除镜像   151

8.7.3  清理镜像   152

8.8  创建新镜像   153

8.8.1  基于已有容器创建新镜像   153

8.8.2  使用Dockerfile创建

新镜像   156

8.8.3  导入本地模板来创建

新镜像   158

8.9  保存与加载镜像   160

8.10  集中管理镜像   163

8.10.1  上传镜像到公共仓库   163

8.10.2  上传镜像到私有仓库   165

8.11  习题   168

第9章  Docker容器管理   171

9.1  容器管理概述   171

9.2  创建容器   173

9.2.1  创建新容器   173

9.2.2  启动容器   175

9.2.3  新建并启动容器   176

9.2.4  在后台运行容器   177

9.2.5  查看容器输出   178

9.3  停止容器   178

9.3.1  暂停/恢复容器   178

9.3.2  停止容器   180

9.3.3  杀死容器   181

9.4  进入容器内部   182

9.4.1  attach子命令   182

9.4.2  exec子命令   183

9.5  删除容器   184

9.5.1  rm子命令   184

9.5.2  prune子命令   185

9.6  迁移容器   186

9.7  查看容器   187

9.7.1  查看容器详情   187

9.7.2  查看容器内进程   188

9.7.3  查看统计信息   188

9.8  其他容器命令   189

9.8.1  复制文件   189

9.8.2  查看变更   189

9.8.3  查看端口映射   190

9.8.4  更新配置   190

9.9  习题   191

第10章  Docker网络管理   193

10.1  Docker网络的启动和配置   193

10.1.1  网络启动过程   193

10.1.2  网络配置参数   195

10.2  容器的名称解析   196

10.2.1  名称解析器默认的配置   196

10.2.2  修改解析器的配置   197

10.3  容器的访问控制   199

10.3.1  容器访问外部网络   199

10.3.2  容器之间相互访问   203

10.4  容器的端口映射   206

10.5  容器的便捷互联机制   208

10.6  容器的网络管理命令   210

10.6.1  列出网络   210

10.6.2  查看网络信息   211

10.6.3  创建自定义网络   213

10.6.4  接入网络   218

10.6.5  断开网络   220

10.6.6  删除和清理网络   222

10.7  配置host网络模式   223

10.8  配置none网络模式   225

10.9  习题   225

第11章  Docker存储管理   227

11.1  Docker存储概述   227

11.2  Docker的卷   228

11.2.1  Docker卷的管理   228

11.2.2  Docker卷的使用   230

11.2.3  Docker卷的适用场景   231

11.3  Docker的绑定挂载   231

11.4  习题   234

第12章  使用Dockerfile创建镜像   235

12.1  Dockerfile的基本结构   235

12.2  Dockerfile的配置指令   242

12.3  Dockerfile的操作指令   247

12.4  创建镜像   250

12.4.1  命令选项   250

12.4.2  父镜像的选择   251

12.4.3  使用.dockerignore文件   252

12.4.4  多步骤创建   252

12.5  习题   253

第13章  Docker实战案例   255

13.1  Linux操作系统镜像   255

13.1.1  BusyBox   256

13.1.2  Alpine   257

13.1.3  Debian/Ubuntu   258

13.1.4  CentOS/Fedora   259

13.2  为镜像添加SSH服务   259

13.3  Web服务   262

13.3.1  Nginx   262

13.3.2  Apache HTTPD   263

13.4  数据库服务   263

13.4.1  MySQL   264

13.4.2  MariaDB   266

13.4.3  MongoDB   266

13.5  习题   268

参考文献   269