容器与虚拟机的不同点,容器和虚拟机哪个镜像大

首页 > 技术 > 作者:YD1662023-04-23 01:30:23

虚拟化是云计算技术的核心,Hypervisor通过硬件虚拟化模拟出可以运行操作系统的各种硬件,比如CPU、内存、I/O设备等。然后在这些虚拟的硬件上安装一个新的操作系统GuestOS,这样用户的应用就可以运行在这台虚拟机中,该应用只能看到GuestOS的文件和目录,以及这台虚拟机里的虚拟设备,从而实现了将不同的应用进程相互隔离。因为在虚拟机中必须运行一个完整的GuestOS,才能执行用户的应用进程,所以就不可避免地带来了额外的资源和时间的消耗。

容器被称为轻量级的虚拟化技术,它并没有一个真正的容器层运行在宿主机上,而是帮助应用进程在创建过程中加上各种各样的namespace参数。这时容器进程就会觉得自己是各自 PID namespace 里的第1号进程,只能看到各自 mount namespace 里挂载的目录和文件,只能访问各自network namespace 里的网络设备,就像运行在一个个隔离的「容器」里面,但其实这只是一个被逻辑构建出来的「虚拟沙箱」。相比虚拟机,容器化的应用只是宿主机上的普通进程,这就意味着不存在虚拟化带来的性能损耗。使用 namespace作为隔离手段的容器并不需要单独的 GuestOS,这就使得容器额外的资源占用几乎可以忽略不计。

容器与虚拟机的不同点,容器和虚拟机哪个镜像大(1)

容器和虚拟机对比

如上图,容器和虚拟机的相比较,我们可以看到,容器对操作系统进行抽象,虚拟机对底层硬件进行虚拟化抽象处理,容器有自己的CPU、内存、文件系统,能够像虚拟机一样独立运行却占用更少的资源。长期来看,容器技术将以其轻量化、快速化的优势取代虚拟化技术,为应用运行提供最好的支持,但是诸如安全隔离、底层资源供给等问题仍需要通过虚拟化来解决。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.