容器部署相关背景知识

一个Web应用的部署至少可以划分成以下三个发展阶段

  • 传统部署时代
    • 部署在物理机器上,但是不同应用所需要的环境不太一样。有可能因为一个应用需要升级SDK,导致另一个应用无法正常工作。解决方案是将各个应用单独部署在不同的机器上,隔绝他们的运行环境。
  • 虚拟化部署时代
    • 为了更好地利用机器,通常选择在一台物理机器上安装多个虚拟机,每个虚拟机有自己的操作系统,自己的环境。每个应用单独在虚拟机里运行
  • 容器部署时代
    • 容器类似于 VM,但是具有更宽松的隔离特性,使容器之间可以共享操作系统。容器也能隔绝环境,但是更轻量,一台机器运行多个虚拟机性能会显著下降,但是一台机器运行多个容器,性能没有明显变化。

两种技术的区别

虚拟机:是物理硬件的抽象,可将一台服务器变成多台服务器。管理程序允许多个虚拟机在单台机器上运行。每个 VM 都包含操作系统、应用程序、必要的二进制文件和库的完整副本——占用数十 GB。VM 的启动速度也可能很慢。

容器:容器是应用层的抽象,它将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。与 VM 相比,容器占用的空间更少(容器映像的大小通常为数十 MB),可以处理更多应用程序并且需要更少的 VM 和操作系统。

虚拟机

容器

 

posted @ 2022-08-21 11:00  内心澎湃的水晶侠  阅读(70)  评论(0编辑  收藏  举报