Docker实践(第2版)
上QQ阅读APP看书,第一时间看更新

关于本书

Docker可以说是目前增长速度最快的软件项目。它于2013年3月开源,到2018年它已经在GitHub上获得了近50 000个星以及超过14 000次fork。它还接受了大量像Red Hat、IBM、微软、谷歌、思科和Vmware这些厂商的拉取请求(pull request)。

Docker在这个关键时刻的出现正是为了迎合许多软件组织的一个迫切需求:以一种开放和灵活的方式来构建软件,然后在不同环境下能够可靠和一致地部署它。用户不需要学习新的编程语言、购买昂贵的硬件,也无须再为了用Docker构建、分发和运行可移植的应用而在安装或配置过程上花费过多精力。

本书将会通过我们在不同场景下用到的一些技术,带读者领略真实世界里的Docker实践案例。我们已经竭力尝试阐明这些技术,尽可能做到无须在阅读前事先具备其他相关技术的知识背景。我们假定读者了解一些基本的开发技术和概念,如开发一些结构化代码的能力,以及对软件开发和部署流程的一些了解。此外,我们认为读者还应了解一些核心的源代码管理理念,并且对像TCP/IP、HTTP和端口这样的网络基础知识有基本的了解。其他不怎么主流的技术会在我们介绍到的时候予以说明。

我们将从第一部分介绍Docker的基础知识开始,而到了第二部分,我们将把重点放在介绍如何将Docker用到单台机器的开发环境。在第三部分里,我们将介绍Docker在DevOps流水线中的用法,介绍持续集成、持续交付和测试的内容。第四部分介绍如何通过编排以一种可扩展的方式运行Docker容器。第五部分介绍在生产环境运行Docker的过程,重点介绍标准的生产环境运维的选项、可能出现的问题以及如何处理。

Docker是一个用途广泛、灵活和动态的工具,以至于没有一点儿魄力的话很难追上它快速发展的脚步。我们会尽力通过真实世界的应用和例子,让读者更好地理解其中的一些关键概念,目的是希望读者能够有实力、有信心在Docker的生态系统里审慎评估未来采用的工具和技术。我们一直在努力让阅读本书变得更像是一次愉快的旅行,即介绍我们在很多方面见证的Docker是怎样使我们的生活变得更加轻松甚至于更加有趣的。我们正沉浸在Docker以一种别致的方式为我们呈现的覆盖整个软件生命周期的许多有意思的软件技术里,而我们希望本书的读者同样也能分享这样的体验。