基本信息
- 作者: 李文强
- 出版社:机械工业出版社
- ISBN:9787111643012
- 上架时间:2020-7-1
- 出版日期:2020 年3月
- 开本:16开
- 页码:388
- 版次:1-1
- 所属分类:计算机 > 电子商务与计算机文化 > 综合

编辑推荐
Docker+Kubernetes实践全接触
轻松上手,快速入门
内容简介
计算机书籍
Docker是目前最流行的容器技术之一,Kubernetes(简称k8s)是目前最流行的容器编排平台之一,本书主要围绕Docker和k8s进行讲解。
本书共分为11章。前7章主要讲解Docker相关内容,从发展简史到基础概念,从市场趋势、应用场景到各环境的安装,从基础操作命令到Docker应用持续开发的工作流程,从主流的编程语言实践到数据库容器化。第8~10章主要讲解Kubernetes的相关内容,从主体架构、核心概念到开发、生产环境搭建以及集群故障处理,从应用部署、伸缩、回滚到应用访问,从云端理念到将应用部署到容器云服务。第11章主要讲解容器化之后的DevOps实践,从DevOps的理念到CI、CD的流程和实践,最后讲述如何使用Azure DevOps、Tencent Hub以及自建的TeamCity来完成CI/CD,并附有相关参考流程讲解。
目录
第1章 走进Docker 1
1.1 主流的互联网公司均在使用Docker 1
1.2 什么是Docker 4
1.3 容器简史 4
1.4 打消偏见,迎接Docker 5
1.5 Docker和虚拟机 6
1.6 Docker的三个基本概念 8
1.6.1 镜像:一个特殊的文件系统 8
1.6.2 容器:镜像运行时的实体 9
1.6.3 仓库:集中存放镜像文件的地方 9
1.7 Docker版本概述 11
第2章 Docker的市场趋势和主要应用场景 12
2.1 Docker的市场趋势 12
2.2 Docker的主要应用场景 15
2.2.1 简化配置,无须处理复杂的环境依赖关系 15
2.2.2 搭建轻量、私有的PaaS环境、标准化开发、测试和生产环境 15
2.2.3 简化和标准化代码流水线,助力敏捷开发和DevOps实践 16
2.2.4 隔离应用 17
2.2.5 整合服务器资源 17
前言
针对这个问题,我们要一分为二地去看:一方面,我们需要明确自己的远近目标,确保正确的方向以及有效的工作;另一方面,团队需要不断地接受适合自身的先进理念、思维以及工作方式、团队文化、技术和工具,以提高交付速度,并且保障软件交付质量。
关于适合自身的先进理念、思维和工作方式、团队文化、技术和工具,时下流行的有很多,最热门的理念莫过于DevOps。它其实并不是新创造出来的,而是软件工程的过程和方法论变化、进化和升级的必然结果(可以参见本书的第11章)。做好了DevOps实践,团队必然可以更快、更可靠地交付软件,提高客户的满意度。但是,做好DevOps实践不但对团队文化有很高的要求,而且对相关工具、技术、部署环境等也有很高的要求,这对于大部分团队来说是一个极大的挑战——既没有精力,也没有实力。
抛开团队文化等,有没有更易于落地的配合DevOps的解决方案呢?有,那就是以Docker为代表的容器技术作为基础保障、以Kubernetes(简称k8s)为代表的容器编排技术作为支撑的解决方案!它们“出世”并不算早,Docker诞生于2013年,k8s v1发布于2015年,公开面世虽只有短短几年,它们却已经成为相关领域的事实标准。它们的出现是历史的必然,并不能算是新的技术和理念,而是容器技术和容器编排技术演进的创新结果,也是一代又一代互联网人追求高效生产活动的解决方案、思想、工具和愿景。
Docker+k8s短短几年就脱颖而出,除了更易配合DevOps落地之外,还有众多原因(比如Docker更轻、更快、开源、隔离应用,以及k8s便携、可扩展、自动修复等),但是其中很重要的一个原因是,在虚拟机时代那些无法解决或者说很难解决的问题以及那些积压已久的需求(比如分布式系统的部署和运维,物联网边缘计算的快速开发、测试、部署和运维,大规模的云计算,等等)在Docker+k8s 的组合下找到了突破口,并且极大地促进了云计算的发展。尤其是k8s,更是代表了云原生应用平台的未来——它借助Docker和微服务架构的发展迅速崛起,高举着云原生应用的设计法则,硬生生地打败了所有的对手,赢得了一片更广阔的天地和更璀璨的未来(在原有的云计算基础设施上抽象出了云原生平台基础设施,形成了一个高度自治的自动化系统平台)。
开发者普遍将Docker+k8s应用于敏捷开发、DevOps实践、混合云和微服务架构。同时,主流的互联网公司都将应用托管到了应用容器上,比如谷歌、微软、亚马逊、腾讯、阿里、京东、美团和新浪。主流的云厂商均提供了容器服务,并且为之打造了极其强大和丰富的生态。其中许多云厂商还推出了无服务器计算容器实例产品,这意味着容器能够在无服务器计算的基础设施上运行。比如在某些机器学习的场合,用户可以在无服务器计算的基础设施上几秒内启动成千上万个容器,然后挂载共享存储的数据或图像进行处理。当批量处理完成后,容器自动销毁,用户仅需按量付费。
现在的技术发展很快,Docker和k8s的技术点、命令行、接口参数说明以官网为主、本书为辅。一方面,官网的内容往往是最新、最及时的;另一方面,本书更多的是指导大家快速进入相关的实践,分享相关的思维、理念和技巧,并且指导大家将容器应用托管到自建或者云端的k8s集群以及云厂商提供的容器云服务。
为什么要编写本书
促使我编写本书的原因主要有:
? 大家对Docker+k8s的认知程度还比较低,缺乏宏观的认知。
? 大家普遍认为Docker+k8s只是一种单纯的相对先进的技术,不能够很好地理解其优势和趋势,认为其并不能给现有的开发运维体系带来什么改变。而许多同类书籍往往只是介绍了一些技术点和细节,并没有让大家从宏观角度、发展趋势去认知Docker+k8s,也没有很好的体系去指导实践和生产。
? 对于想更好地学习相关知识的开发者,缺少系统的教程以及完整的工作流程的实践案例,不能提供很好的技术引导。这使得普通开发者普遍认为使用Docker+k8s很麻烦,改造成本过大,只有大公司才能用,门槛很高。
? 云端容器服务产品的用户体验不够友好,对于初学者门槛太高(指的是消化这些概念和理念,并且能够掌握和可控);同时,各家云端的容器产品都进行过包装,体验各不相同,和原生的体验也不同。
内容介绍
本书共分为11章。
第1章,主要介绍Docker以及容器技术的发展简史,并且对比Docker和虚拟机,最后讲述Docker的3个基本概念和版本区别,为后续进一步讲解Docker做铺垫。
第2章,主要介绍Docker的市场趋势和主要应用场景。
第3章,主要讲解各个环境(Windows 10、Ubuntu、CentOS、树莓派)下的Docker安装过程,以及如何使用树莓派搭建个人网盘。
第4章,主要结合实践示例讲解Docker的一些镜像操作命令和容器操作命令,以及相关参数,最后介绍如何使用Kitematic来管理Docker容器。
第5章,主要围绕Docker应用开发的持续工作流程进行讲解,在开发、测试、部署整个过程中穿插Dockerfile、Docker Compose等知识、编写准则和要求。最后侧重介绍Visual Studio(VS)和Visual Code对Docker的支持,尤其是如何利用VS一键生成Dockerfile。
媒体评论
本书内容
第1~7章 主要介绍Docker相关内容,从发展简史到基础概念,从市场趋势、应用场景到各环境的安装,从基础操作命令到Docker应用持续开发的工作流程,从主流的编程语言实践到数据库容器化。
第8~10章 主要讲解Kubernetes的相关内容,从主体架构、核心概念到开发、生产环境搭建以及集群故障处理,从应用部署、伸缩、回滚到应用访问,从云端理念到将应用部署到容器云服务。
第11章 主要讲解容器化之后的DevOps实践,从DevOps的理念到CI/CD的流程和实践,最后讲述如何使用Azure DevOps、Tencent Hub以及自建的TeamCity来完成CI/CD,并附有相关参考流程。
读者对象
本书可作为初学者学习和实践的参考书,也可作为实际工作中技术人员学习和使用的参考书。