容器和虚拟机的区别

虚拟机:
 KVM、  vmware workstation、  exsi 、 xen


容器:轻量级虚拟机
 Docker、podman  containerd
 
相同:资源隔离、独立的操作系统,提供隔离服务
 
不同:
1、底层的实现技术不一样,虚拟机的核心是模拟器,而容器的核心是namespace + Cgroup(资源限制);
2、虚拟机的宿主机可以不要OS,但容器的宿主机必须要有OS;

3、隔离性:

         虚拟机的隔离性好;

         容器的隔离性差,只能实现进程级隔离;

资源限制

4、虚拟机包含完整的操作系统,而容器只包含操作系统的操作空间

提供的服务级别不同:

   虚拟机提供的是操作系统级别的服务 -Iaas

   容器提供的是应用级别的服务 -Paas

5、可移植性

     镜像(一个虚拟机镜像少则几百m,大则几个G);

     一个容器少则几十K,正常来讲是几十到上百M;

 

容器的架构组成:

              容器镜像:包含了阉割的操作系统以及所提供的应用程序的一个打包的文件

                        redis镜像、nginx镜像、httpd镜像、mysql镜像

              镜像仓库:用于存储容器镜像,以便于镜像分发

                                (公共镜像仓库、私有镜像仓库)

              容器:镜像运行起来就是容器,容器提供应用级别的服务



docker:计算(cpu、memory)、存储(disk)、网络(network)



操作系统组成:

 内核空间: 驱动管理、任务管理、内存管理



 用户空间


虚拟机的底层原理是调用hypervisor监视器,模拟底层硬件,虚拟出一台4核8G资源VM;
 
Docker底层原理:在单独的OS运行,没有模拟硬件,Docker管理器软件,在资源底层起容器

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker容器虚拟机(VM)之间的性能区别主要体现在以下几个方面: 1. 轻量化:Docker容器虚拟机更轻量级,因为它们共享宿主机操作系统的内核和系统库。这意味着在同一台物理机上可以同时运行更多的Docker容器,而虚拟机则需要每个VM都运行自己的操作系统。 2. 启动时间:Docker容器相对于虚拟机具有更快的启动时间。这是因为启动一个Docker容器只需要创建一个新的进程,并且可以使用现有的基础镜像,而虚拟机需要加载整个操作系统和应用程序。 3. 资源占用:由于Docker容器共享宿主机的资源,所以占用的资源更少,包括内存、存储和CPU。而虚拟机需要独立的资源来运行操作系统和应用程序。 4. 性能损耗:由于Docker容器在宿主机上直接运行,并与宿主机共享内核,因此不会引入额外的性能损耗。虚拟机则需要通过虚拟化层来访问宿主机的资源,可能会带来一定程度的性能损耗。 5. 隔离性:虚拟机提供了更强的隔离性,每个VM都运行在独立的虚拟环境中,与其他虚拟机和宿主机隔离开。而Docker容器共享宿主机的操作系统,因此隔离性较弱,容器之间的相互影响可能较大。 综上所述,Docker容器虚拟机在性能方面存在一些区别。如果对轻量级、快速启动时间和资源优化有较高要求的场景,Docker容器是更好的选择。而在对隔离性和安全性要求较高的情况下,则可以选择虚拟机。当然,在实际应用中,具体的需求和使用场景也会对选择产生影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenClouds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值