前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习Docker-传统虚拟化和容器虚拟化的区别

快速学习Docker-传统虚拟化和容器虚拟化的区别

作者头像
cwl_java
发布2019-11-04 11:27:00
1.1K0
发布2019-11-04 11:27:00
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102864931

传统的虚拟化技术

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随着硬件厂商的不断发展,很多在虚拟机里面的指令不需要通过虚拟的硬件层走到真正的硬件层.硬件厂商是支持直接在虚拟机里面实用指令操作硬件,这个技术我们就称为是硬件辅助的虚拟化.这种硬件的辅助虚拟化比起软件虚拟的硬件层来说,他不需要模拟所有的硬件.有些指令是直接运行在虚拟机上来操作硬件的.性能和效率比传统的虚拟化高更高些.

系统级别的虚拟化
  • 特点:
    • 不需要模拟硬件层.
    • 共享同一个宿主机的内核
    在这里插入图片描述
    在这里插入图片描述
传统虚拟化和容器虚拟化的区别
在这里插入图片描述
在这里插入图片描述
Container的核心技术
  • 1.CGroup限制容器的资源使用
  • 2.Namespace机制,实现容器间的隔离
  • 3.chroot,文件系统的隔离.
CGroup:

Linux内核提供的限制,记录和隔离进程组所使用的资源.由Google的工程师提出,后台被整合到内核中.通过不同的子系统来实现对不同资源使用的控制和记录.

代码语言:javascript
复制
/sys/fs/cgroup
Namespace:
  • pid:容器有自己独立的进程表和1号线程.
  • net:容器有自己独立的network info
  • ipc:在ipc通信的时候,需要加入额外信息来标示进程
  • mnt:每个容器都有自己唯一的目录挂载
  • utc:每个容器都有独立的hostname和domain
chroot:

在宿主机中的某个目录就是容器中的根目录.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 传统的虚拟化技术
  • 系统级别的虚拟化
  • 传统虚拟化和容器虚拟化的区别
  • Container的核心技术
  • CGroup:
  • Namespace:
  • chroot:
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档