【玩转Docker小鲸鱼叭】虚拟化技术是什么?

news2024/11/19 21:26:21

到底什么是虚拟化?

Docker 是一款基于容器虚拟化技术构建的软件,那到底什么虚拟化技术呢?在学习Docker之前,先简单了解下虚拟化技术。

虚拟化是云原生的实现基础,它能够帮助我们更加有效地利用物理计算机硬件。

虚拟化技术是一种将物理资源抽象为虚拟资源,并将虚拟的计算机资源提供给应用程序使用的技术。其中物理资源包括处理器、硬盘、网卡等硬件资源。

虚拟化技术可以将物理资源划分为多个相互独立的虚拟环境,每个虚拟环境都可以运行不同的操作系统和应用程序,从而提高硬件资源的利用率和灵活性,降低硬件成本和管理复杂度。

虚拟化的概念其实不难理解。假设我们有一台32G内存的物理机,如果只运行一个占用4G内存应用程序,这会浪费大量的资源。通过虚拟化技术,我们可以在一台物理机上运行多个应用程序,为不同的应用程序提供虚拟内存服务。运行在同一台物理机的应用程序是相互独立的,互不影响,这充分提高了计算机硬件资源的利用率

虚拟化技术前后的区别如下图所示:

在这里插入图片描述

虚拟化技术实现

虚拟化技术有下面几种常见的实现方案:

  1. 完全虚拟化:完全虚拟化是指在虚拟机上运行操作系统和应用程序,虚拟机中的操作系统和应用程序不知道自己运行在虚拟环境中,而是认为自己运行在物理机上。完全虚拟化需要在虚拟机中添加虚拟化层,用于模拟物理硬件和操作系统。
  2. 容器虚拟化:
    容器虚拟化是指在操作系统层面上实现虚拟化,每个容器可以运行不同的应用程序,但是共享同一个操作系统内核和系统资源。容器虚拟化通常比完全虚拟化和半虚拟化更加轻量级和快速,但是容器之间的隔离性相对较弱。

完全虚拟化技术的典型实现的是虚拟机,容器虚拟化技术的典型实现是Docker。

虚拟机和Docker有何不同?

虚拟机和Docker都是虚拟化技术的实现,但是它们的实现原理和应用场景有所不同。

虚拟机是一种完全虚拟化技术,它可以在物理服务器上创建多个虚拟机,每个虚拟机都具有自己的操作系统、应用程序和系统资源(例如CPU、内存、磁盘、网络等),虚拟机之间是相互隔离的。虚拟机需要在每个虚拟机中模拟物理硬件,因此虚拟机的启动和停止比较慢,占用的系统资源也比较多。虚拟机适用于需要完全隔离的应用场景,例如安全性要求较高的应用程序、不同操作系统之间的互操作等。

Docker是一种容器虚拟化技术,它可以将应用程序打包成容器镜像,运行在Docker引擎中,每个容器都具有自己的应用程序和系统依赖,并共享宿主机的操作系统内核和系统资源。容器启动和停止比较快,占用的系统资源比虚拟机少,因此Docker适用于快速部署和迁移应用程序的场景,例如微服务架构、云原生应用程序、开发环境的搭建和管理等。

虚拟机和Docker容器的原理图如下图所示:

在这里插入图片描述

虚拟机和Docker容器的优缺点如下:

在这里插入图片描述

虚拟化技术的优势

虚拟化技术在行业技术变革中留下了浓墨重彩的一笔,其主要特点和优势如下:

  1. 硬件资源利用率高:虚拟化技术可以将物理资源划分为多个虚拟环境,提高硬件资源的利用率和灵活性,降低硬件成本和管理复杂度。

  2. 系统维护和管理方便:虚拟化技术可以将多个虚拟环境隔离开来,每个虚拟环境可以独立运行和管理,方便系统维护和管理。

  3. 应用程序部署和迁移方便:虚拟化技术可以将应用程序打包成虚拟机镜像或容器镜像,实现应用程序的快速部署和迁移。

总结

  1. 虚拟化技术是一种将物理资源抽象为虚拟资源,并将虚拟的计算机资源提供给应用程序使用的技术。其将物理资源划分为多个相互独立的虚拟环境,每个虚拟环境都可以运行不同的操作系统和应用程序,从而提高硬件资源的利用率和灵活性,降低硬件成本和管理复杂度。
  2. 虚拟化技术实现方案通常有完全虚拟化和容器虚拟化,完全虚拟化的典型实现是虚拟机,容器虚拟化的典型实现是Docker。
  3. 虚拟机和Docker都是虚拟化技术,但是它们的实现原理、资源占用和应用场景有所不同。虚拟机适用于需要完全隔离的应用场景,而Docker适用于快速部署和迁移应用程序的场景。
  4. 通过虚拟化技术可以提高硬件资源的利用率、便于系统的维护和管理并且应用程序可以快速的部署和迁移。


🎉 如果喜欢这篇文章,点赞👍 收藏关注 ✅ 哦,创作不易,感谢!😀

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/653672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

德国Kipu Quantum与法国Pasqal合作优化量子算法

​ (图片来源:网络) 6月12日,德国量子软件公司Kipu Quantum宣布与法国中性原子量子计算领域的领导者PASQAL达成为期两年的研发协议,以优化量子算法功能,并为企业加速带来量子效益。 Kipu Quantum专注于为特…

Pytest教程__allure报告(11)

一、allure工具环境配置 windows安装allure 1、下载allure工具包 进入工具包官网:https://github.com/allure-framework/allure2/releases 2、解压下载包 3、将解压包的bin目录路径添加到环境变量中 4、打开cmd命令行输入 allure --version 确认是否安装成功 lin…

文件从 UNIX(LF) 批量改为 PC(CR+LF) ,编码格式保持源文件编码,CMD转换成功

如何把文件从 UNIX(LF) 批量改为 PC(CRLF) ,编码格式保持源文件编码,通过电脑自带cmd 批量更改-1.0 chcp 65001 && FOR /F "tokens*" %f IN (dir /b D:\opt\output\DATA_FILE\20230531\*.DAT) DO type "D:\opt\output\DATA_FILE…

经典的设计模式21——策略模式

文章目录 策略模式 猛的发现策略模式和状态模式的结构图长得到好像,可得好好区分区分。 不过真的好像,就是方法那里传递的参数不一样。 百度来一波。 策略模式 定义: 定义了算法家族,分别封装起来,让他们之间可以互…

数字电路基础---锁存器

目录 锁存器 1、简介 2、实验任务 3、程序设计 3.1、缺少 else 分支的锁存器代码 3.2、补齐 else 分支 3.3、缺少 default 的 case 语句的锁存器代码 3.3、补齐 default 的 case 语句 4、本章总结 锁存器 锁存器(俗称 Latch)是数字电路中的一种…

别让存储成为ChatGPT大模型训练的关键瓶颈

当下科技行业be like... 据说现在的科技公司,不是在抢GPU,就是在往抢GPU的路上……此前4月,特斯拉CEO马斯克就购买了1万块GPU,他还称公司将继续大量购买英伟达的GPU。 在国内,近日也有报道称,字节跳动今年…

MySQL数据库事务和存储引擎(贼详细)

目录 一、MySQL 事物 1、事务的概念 2、 事务的ACID特点 (1)原子性 (2)一致性 (3) 隔离性 (4)事务之间的相互影响 (5) Mysql及事物隔离级别 &#…

你知道视频配音怎么配出好听的声音吗

小明:最近我在制作一个视频项目,但是我发现视频中的原声不够理想,我想给它配上好听的声音。你知道怎么配音才能让声音听起来更好吗? 小李:当然!配音是提升视频质量的重要一环。想知道视频配音怎么配出好听…

uniapp实现应用wgt资源热更新

APP更新一般有两种形式 1、整包更新,通过hbuliderx提供的在线云打包就属于整包更新,属于全量更新,缺点就是打包时间长、要重新走市场审核。费时 2、wgt资源包热更新,通过hbuliderx打wgt包 ,速度快,能在应用…

iphone测试中除了appium,还有更好用的工具吗

除了Appium,还有一些其他的工具可以用于iPhone测试,下面列举几个: 1. XCUITest XCUITest是苹果官方提供的UI自动化测试框架,可以用于iPhone和iPad应用程序的自动化测试。XCUITest可以模拟用户操作,例如点击、滑动、输…

机器学习实践(1.1)XGBoost分类任务

前言 XGBoost属于Boosting集成学习模型,由华盛顿大学陈天齐博士提出,因在机器学习挑战赛中大放异彩而被业界所熟知。相比越来越流行的深度神经网络,XGBoost能更好的处理表格数据,并具有更强的可解释性,还具有易于调参…

若依微服务 + seata1.5.2版本分布式事务(安装配置nacos+部署)

若依官方使用的1.4.0版本seata,版本较低配置相对更麻烦一些 一、seata服务端下载,下载方式介绍两种入口,如下: 1、找到对应版本,下载 binary 即可。 下载包名为:seata-server-1.5.2.zip 2. github上下载 …

WWDC2023 Metal swift 头显ARKit支持c c++ 开发

1 今年WWDC,我们看见了苹果的空间计算设备,visionOS也支持了c c API. 这有什么好处呢,不是说能够吸引更多c c开发者加入苹果开发者阵营,而是我们过去的很多软件,可以轻松对接到苹果的头显设备,让我们的软件…

2023年协议转让研究报告

第一章 概述 协议转让作为中国企业破产法中的重要程序之一,已经在实践中得到广泛应用。在协议转让过程中,债务人与债权人或其他相关方通过协商达成一致,将特定的资产或权益进行转让,以实现债务清偿或债务人的破产清算。协议转让的…

RRC重建比率高问题分析和优化方法

PART01 1、重建概述 RRC重建(RRC connection re-establishment)是UE处于RRC_CONNECTED状态,因为一些移动性管理或底层链路故障,导致连接中断,UE发起的空口资源重新建立的过程,以继续空口的RRC连接。重建是…

[CSP-S 2021] 回文

[CSP-S 2021] 回文 题目描述: 给定正整数 n 和整数序列 a1​,a2​,…,a2n​,在这 2n 个数中,1,2,…,n 分别各出现恰好 2 次。现在进行 2n 次操作,目标是创建一个长度同样为 2n 的序列 b1​,b2​,…,b2n​,初始时 b 为空序列&…

【SpringCloud入门】-- SpringCloud优质组件介绍

目录 1. SpringCloud优质项目 2. 介绍SpringCloud优质项目 SpringCloudConfig(Spring) SpringCloudBus Eureka Hystrix Zuul Archaius Consul SpringCloudForCloudFoundry SpringCloudSleuth SpringCloudDataFlow SpringCloudSecurity SpringCloudZookeeper Spr…

【Redis】孔夫子旧书网爬虫接入芝麻代理IP:代理IP利用效率最大化

背景: 之前用过芝麻IP,写过这几篇文章 《【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程自动领取每日IPIP最优算法)》 《【Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品教程)》 《爬虫增加代理池:使用稳…

ICC2:自定义快捷键和菜单

把一些常用的功能放在一个菜单里是什么体验?直接放在工具栏里是不是更方便?那设置成快捷键呢? gui_create_menu 自定义菜单可以把工具常用的功能放到一个菜单里,用户也可以把“执行脚本操作”加到菜单里。 举例来说: 1)把Editor Toolbox放到Favorite菜单里,floorplan 操…

行业报告 | AIGC发展研究

原创 | 文 BFT机器人 01 技术篇 深度学习进化史:知识变轨 风起云涌 已发生的关键步骤: 人工神经网络的诞生 反向传播算法的提出 GPU的使用 大数据的出现 预训练和迁移学习 生成对抗网络 (GAN) 的发明 强化学习的成功应用 自然语言处理的突破 即将发生的关键…