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

第1章 Docker初探

本章主要内容

  • Docker是什么
  • Docker的使用以及它如何能节省时间和金钱
  • 容器与镜像之间的区别
  • Docker的分层特性
  • 使用Docker构建并运行一个to-do应用程序

Docker是一个允许用户“在任何地方构建、分发及运行任何应用”的平台。它在极短的时间内发展壮大,目前已经被视为解决软件中最昂贵的方面之一——部署的一个标准方法。

在Docker出现之前,开发流水线通常涉及用于管理软件活动的不同技术的组合,如虚拟机、配置管理工具、包管理系统以及各类复杂的依赖库网站。所有这些工具需要由专业的工程师管理和维护,并且多数工具都具有自己独特的配置方式。

Docker改变了这一切,允许不同的工程师参与到这个过程中,有效地使用同一门语言,让协作变得轻而易举。所有东西通过一个共同的流水线转变成可以在任何目标平台上使用的单一的产出——无须继续维护一堆让人眼花缭乱的工具配置项,如图1-1所示。

与此同时,只要现存的软件技术栈依然有效,用户就无须抛弃它——可以将其原样打包到一个Docker容器内,供其他人使用。由此获得的额外好处是,用户清楚这些容器是如何构建的,因此如果需要深挖细节,也是完全没问题的。

本书针对的是具有一定Docker知识的中级开发人员。如果读者对本书的基础部分较熟悉,可随意跳到后续章节。本书的目标是揭示Docker所带来的现实世界的挑战,并展示其解决之道。不过,首先我们将提供一个Docker自身的快速回顾。如果读者想了解更全面的Docker基础,请查阅Jeff Nickoloff编写的Docker in Action一书(Manning,2016)。

第2章将更深入地介绍Docker的架构,并通过一些技巧来演示其威力。在本章中,读者将了解到Docker是什么、为什么它很重要,并开始使用它。

图片 1

图1-1 Docker如何消除了工具维护的负担