前言
将应用程序与其环境和依赖项捆绑在一起的两种方法是 容器 和 虚拟机 。这两种方法都允许应用程序在开发和生产之间以最小的差异运行,并且都可以用于水平扩展应用程序。
虚拟机 (VM):
虚拟机将应用程序及其依赖项捆绑在一起。 每个虚拟机都有一个完整的操作系统,并且可以在同一台主机上运行多个虚拟机。主机操作系统使用管理程序运行虚拟机,管理程序是创建和管理虚拟机的特殊软件。管理程序维护 VM 的逻辑分离,以防止任何一个 VM 的问题影响其他 VM 或主机操作系统。常见的虚拟机平台是有VMWare 、VirtualBox 和 Parallels Desktop 。
容器(Container):
容器还将应用程序及其依赖项捆绑在一起。 与 VM 不同,容器没有单独的操作系统或虚拟化硬件。运行在同一台机器上的容器共享相同的低级操作系统[内核]。 实际上,容器由容器管理器管理,其作用类似于 VM 场景中的管理程序。容器比 VM 更轻,启动时间更快。 一些常见的容器平台包括 Rkt 、 LXC 和 LXD 、 OpenVz 和 Docker ,其中Docker 是最流行的容器平台。
流行的容器Docker的介绍见下篇。
(^ _ ^)