问题:对于开发人员来说,很多时候都要在电脑上上开发不同的应用。但不同的应用通常需要不同的系统运行环境,并且这些不同的运行环境配置在一起很可能会冲突。因此,人们需要一种工具来解决这种冲突。
于是有人提出了虚拟机的概念。虚拟机是指在一台计算机上安装几个不同的子系统,这些子系统独立运行,不会产生冲突。这种方法是可以解决上述问题,但是每个子系统的启动时间较长,而且很占资源,一台电脑大概只能容纳几个虚拟机。
于是,人们做出了更加轻量级的解决方案,也就是Docker。Docker会将应用的运行库打包在一起,形成一个轻量级的配置环境。这样,一台电脑上可以运行几十甚至几百个运行环境,扩展了电脑的可用性。