-
容器是一个应用层抽象,用于将代码和依赖资源打包在一起,多个容器可以在同一台机器上运行,共享操作系统的内核,但各自作为独立的进程在用户空间中运行 。与虚拟机相比, 容器占用的空间较少(容器镜像大小通常只有几十M),瞬间就能完成启动 。
-
虚拟机 (VM) 是一个物理硬件层抽象,用于将一台服务器变成多台服务器。 管理程序允许多个 VM 在一台机器上运行,每个 VM 都包含一整套操作系统、一个或多个应用、必要的二进制文件和库资源,因此占用大量空间 ,而且 VM 启动也较为缓慢 。
总结:虚拟机更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户;而 Docker 通常用于隔离不同的应用 ,例如前端,后端以及数据库。
网友评论