天天看点

黑魔法-虚拟机与容器【Docker】

🚀作者简介

​主页:水香木鱼的博客

专栏:docker

能量:🔋容量已消耗1%,自动充电中…

笺言:用博客记录每一次成长,书写五彩人生。

📒技术聊斋

(一)虚拟机:虚拟化硬件

​虚拟机 Virtual Machine ​

​​指 通过​

​软件模拟​

​​的具有完整硬件系统功能的、​

​运行在一个​

​​完全​

​隔离环境中​

​​的​

​完整计算机系统​

​。在实体计算机中能够完成的工作在虚拟机中都能够实现。

在计算机中创建虚拟机时,需要将​

​实体机​

​​的​

​部分硬盘​

​​和​

​内存容量​

​作为虚拟机的硬盘和内存容量。

每个虚拟机都有独立的 ​

​CMOS​

​​、​

​硬盘​

​​和​

​操作系统​

​,可以像使用实体机一样对虚拟机进行操作。

​在容器技术之前,业界的网红是虚拟机。​

​​虚拟机技术的代表,是 VMWare 和 OpenStack。​​

(二)容器

将操作系统层虚拟化,是一个标准的软件单元
  • ​随处运行​

    ​:容器可以将代码与配置文件和相关依赖库进行打包,从而确保在任何环境下的运行都是一致的。
  • ​高资源利用率​

    ​​:容器提供进程级的隔离,因此可以更加精细地设置 ​

    ​CPU​

    ​ 和​

    ​内存的使用率​

    ​,进而更好地利用服务器的计算资源。
  • ​快速扩展​

    ​:每个容器都可作为单独的进程予以运行,并且可以共享底层操作系统的系统资源,这样一来可以加快容器的启动和停止效率。

(三)区别与联系

虚拟机虽然可以隔离出很多「子电脑」,但​

​占用空间更大​

​​,​

​启动更慢​

​。虚拟机软件可能还要花钱,例如VMWare;

容器技术不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境,类似​

​「沙箱」​

​;

运行空间:

  • ​虚拟机​

    ​一般要几 GB 到 几十 GB 的空间
  • ​容器​

    ​只需要 MB 级甚至 KB 级;
  1. 与虚拟机相比,​

    ​容器​

    ​更轻量且速度更快,因为它​

    ​利用了 Linux 底层操作系统在隔离的环境中运行​

    ​。
  2. 虚拟机的​

    ​ Hypervisor​

    ​ 创建了一个非常牢固的边界,以防止应用程序突破它,而容器的边界不那么强大。
  3. 物理机部署不能充分利用资源,造成资源浪费。
  4. 虚拟机方式部署,虚拟机本身会占用大量资源,导致资源浪费,另外虚拟机性能也很差。而容器化部署比较灵活,且轻量级,性能较好。
  5. 虚拟机属于虚拟化技术,而 Docker 这样的容器技术,属于轻量级的虚拟化。