系统的优点是您可以在另一个应用程序中重用已为另一个图像创建的图层。一个简短的例子肯定会让整个事情更容易理解:构建 Tomcat 映像时,可以再次使用绿色和蓝色层。这意味着较低层只需在系统中存储一次,从而节省大量存储空间。
镜像的重用是容器相对于虚拟机的另一个优势。如下图所示,当在系统中实例化其他容器时,这一点变得尤其明显。
Docker容器实例化图解
Docker 将新实例化的容器在临时可写的附加容器(即所谓的容器层)中执行时创建的更改存储起来。这样做的好处是,Docker 仅通过引用底层来将创建的容器层存储在系统中,以供新创建的映像使用。
前景
我希望我能够通过这篇文章让您对“虚拟化”的整个主题有一些深入的了解。我的博客系列的下一部分将继续令人兴奋,因为我将比较当前的云平台,并更详细地介绍 Kubernetes、VirtualBox、Vagrant 和 Gitlab 等。部署只 临床护士专家电子邮件列表 不过是在服务器或 PC 上安装和配置软件的自动化过程。您可能还记得大型单体调试时停机时间长达十多个小时的日子。整个过程非常昂贵且容易出错。对于当今的在线服务提供商(例如 Uber、AirBnB)或流媒体服务(例如 Netflix)来说,这样的停机时间简直是不可想象的。对于 B2B 应用程序来说,停机也已成为过去。在线部署不是火箭科学,但它确实有一些技术依赖性,您一定要考虑到这些依赖性才能成功使用。
服务器的示意图
如果您想要部署新应用程序或将现有应用程序的新版本投入运行,则必须将新应用程序引入服务器,并可能调整操作系统或虚拟机的设置。
节点和集群
然而,单个服务器是不够的。集群中需要多个所谓的节点。这些节点充当一种再保险,因为如果集群中的一个节点发生故障,另一个节点可以执行任务。接管是通过集群软件控制的,节点上的负载是通过负载平衡器控制的——它相应地平衡负载。正如您可以想象的那样,您的服务器并不孤单,因为应用程序还包含数据库。而这也需要适应新版本。
停机期间曾经有特定的任务顺序:
关闭负载均衡器
设置数据库回滚点
停止应用程序服务器
数据库版本适配
重新启动数据库
应用程序的定制
服务器设置的调整
重启应用服务器
测试新应用程序
打开负载均衡器
正如您所看到的,在单体调试期间有很多工作要做。希望您现在可以想象为什么停机会花费如此多的时间。
在线部署如何让世界变得更美好?
在在线部署场景中,您可以使用负载均衡器的功能来排除单个服务器的外部访问,例如用户无法访问的单个节点。