Docker-虚拟化和容器化

一,什么是虚拟化,容器化

1.物理机:

实际的服务器或者计算机

2.虚拟化:

将一台计算机虚拟成多台不同操作系统的计算机,在一台计算机上面可以同时运行多个逻辑计算机。并且应用程序相互独立不影响。

3.容器化:

虚拟化的一种技术,这种技术将操作系统内核虚拟化,可以允许用户空间软件实例被分割成几个独立单元,在内核运行,而不是只有一个内核运行。这个软件实例,也被称为一个容器

二.为什么虚拟化,容器化

1.环境标准化

Docker的镜像提供除了内核外完整的运行环境,确保了应用环境一致

2。弹性收缩

个别根据1业务情况,动态调整资源

3.差异化

同时提供多套差异化的执行环境

4容易维持和扩展

docker使用分成部署以及镜像技术,使得应用重复部分的复用变得简单,以及应用的维护更新也容易,基于基础镜像的扩展也非常简单

容器比虚拟机更轻量,启动更快,因为docker不需要虚拟内核

三 虚拟化实现方式

在这里插入图片描述

虚拟机

存在与硬件和操作系统间的虚拟化技术.虚拟机通过伪造一个硬件接口,将一个操作系统层及其以上嫁接到硬件上面。

容器

存在与操作系统和函数直接的接口。容器通过伪造一个操作系统接口,将一个函数库及其以上嫁接到操作系统上面。

JVM虚拟机

存在与函数库层和应用程序之间的虚拟化技术。java虚拟机同样具有跨平台性,实际上是虚拟化的功劳。JVM就是在应用层和函数接口层建立的一个抽象层,对下通过适应不同的操作系统库,对上提供统一运行环境使得开发者能够调用不同操作系统的函数库

主机虚拟化(虚拟机)实现

主机虚拟化的原理是通过在物理服务器上安装一个虚拟化层来实现。这个虚拟化层可以在物理服务器和客户操作系统之间建立虚拟机,使得它们可以独立运行。

从软件框架的角度上,根据虚拟化层是直接位于硬件之上还是在一个宿主操作系统之上,将虚拟化划分为 Type1 和 Type2.
在这里插入图片描述
Type1 类的 Hypervisor(Hypervisor 是一种系统软件,它充当计算机硬件和虚拟机之间的中介,负责有效地分配和利用由各个虚拟机使用的硬件资源,这些虚拟机在物理主机上单独工作,因此,Hypervisor 也称为虚拟机管理器。)直接运行在硬件之上,没有宿主机操作系统,Hypervisor 直接控制硬件资源和客户机。典型框架为 Xen,Vmware ESX。

Type2 类的 Hypervisor 运行在一个宿主机操作系统之上(Vmware Workstation)或者系统面,Hypervisor 作为宿主机操作系统中的一个应用程序,客户机就是在宿主机操作系统上的一个进程

容器虚拟化实现原理

容器虚拟化,有别于主机虚拟化,是操作系统层的虚拟化。通过namepace进行各个程序的隔离,加上cgroups进行资源控制,以此来进行虚拟化
在这里插入图片描述
容器A和B可以是不一样的操作系统,容器A里的文件容器B看不见,反之也一样,会调用统一内核接口

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值