图书前言

前言

部署是软件开发不可或缺的环节。容器化技术的崛起为软件开发和部署带来了新的思路和方法,尤其是基于微服务架构的分布式应用开发。将容器化技术和微服务架构相结合,可使得软件开发变得更加高效、可靠和可维护。通过将应用程序进一步拆分成微服务,开发团队可以更快地开发、测试和部署应用程序。利用容器化技术可实现开发、测试和生产环境下部署的一致性,从而减少设备和系统环境差异带来的问题。

Docker和Kubernetes是容器化技术的两个关键组件,前者是容器化平台,为应用程序提供容器化部署功能,后者则是容器化平台的协调器,用于自动管理、扩展和维护所需状态的多容器工作负载。目前它们已成为云端环境中使用最为广泛的容器化技术。

本书共7个项目,主要内容围绕微服务应用部署,以传统部署方式为基础,着重介绍容器化技术中Docker和Kubernetes组件的应用。通过本书内容,读者可以了解Docker和Kubernetes容器化技术的基础知识,掌握使用传统方式和容器化方式部署Spring Cloud微服务项目的方法和技巧。

本书全面采用“项目和任务”设计方式,以解决实际问题为导向,提出项目总体目标,再设计任务的内容。全书遵循“先易后难、由浅入深”的原则,在整体安排上,从简单的传统部署方式,逐步引入Docker、Kubernetes相关知识,以及容器化部署方式;在每个项目中,采取讲解和实践相结合的方式,由知识点逐一讲解,再到综合案例实践应用,以便读者逐步系统地掌握知识技能。

本书建议授课48学时,具体的内容结构如下。

项目1介绍Spring Cloud微服务架构解决方案、Spring Cloud微服务部署方式,以及Ubuntu操作系统下开发环境的搭建和使用。

项目2介绍基于Tomcat和Nginx两种Web服务器的Spring Cloud微服务的传统部署方法。

项目3介绍虚拟化和容器概念、Docker容器解决方案的相关基础知识,Docker的安装与使用,通过案例体验Docker容器化部署的过程。

项目4介绍Docker的镜像创建、镜像操作、容器创建、容器操作以及容器网络模式等方面的常用命令的语法及应用,并通过案例讲解单个微服务组件的Docker容器化部署方法。项目5介绍Spring Cloud微服务项目的Docker部署方法。主要内容包括以商品订购为背景搭建Spring Cloud微服务项目;通过整合Nacos、OpenFeign和Sentinel组件实现服务治理、远程服务调用和熔断限流等效果;针对该微服务项目,介绍如何利用Docker实现容器化部署和运行。

项目6介绍Kubernetes平台的核心概念、工作机制和常用命令,以及在Kubernetes轻量级实现Minikube上如何结合Docker容器部署Spring Boot单体微服务。

项目7介绍Kubernetes容器编排控制器针对不同类型应用的编排方法,基于Kubernetes数据持久化方案实现集群内数据共享,以及如何利用Docker+Minikube实现Spring Cloud微服务应用的容器化部署和运行。

本书由古凌岚、张寺宁编著,古凌岚审定。为使读者能够轻松地掌握本书内容,本书提供配套的微课视频、案例源码、PPT课件等课程资源,读者可以通过清华大学出版社网站进行下载。

由于编者水平有限,书中难免有不妥之处,殷切希望广大读者批评指正。同时,恳请读者发现问题及时与编者联系,以便尽快更正,编者不胜感谢。

编著者2026年1月