【云原生丶Docker】虚拟化技术简介

news2024/11/18 15:40:31

什么是虚拟化技术?

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/687235.html

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

相关文章

clip-interrogator本地部署

clip-interrogator本地部署 1. 克隆源码2. 创建虚拟环境及配置3. 下载远程相关文件3.1 下载Salesforce相关文件失败3.2 下载cache相关文件失败3.3 解决库不完整问题 4. 测试代码4.1 脚本一4.2 脚本二4.3 测试run_cli.py文件4.4 测试run_gradio.py文件 源码链接:http…

d3dcompiler_47.dll缺失怎么办?d3dcompiler_47.dll缺失修复方法(详解)

d3dcompiler_47.dll在Windows操作系统和 DirectX应用程序中使用此 DLL 文件,包括游戏,图形处理软件,CAD软件和其他3D应用程序中。如果电脑提示“由于找不到d3dcompiler_47.dll,无法继续执行此代码”,“d3dcompiler_47.dll缺失”&a…

Docker卷与持久化数据

数据主要分为两类,持久化的与非持久化的。 两者都很重要,并且Docker均有对应的支持方式。每个Docker容器都有自己的非持久化存储。非持久化存储自动创建,从属于容器,生命周期与容器相同。这意味着删除容器也会删除全部非持久化数…

网络维护岗位个人求职简历

网络维护岗位个人求职简历1 姓名: 国籍:中国 目前所在地:广州民族:汉族 户口所在地:湖南身材:170cm64kg 婚姻状况:未婚年龄:28 求职意向及工作经历 应聘职位: 工作年限&a…

day14_面向对象的三大特征之一(继承)

继承的概述 Java是对现实社会的模拟,现实中有儿子可以继承父亲的财产,因此有了富二代的。 java中多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类中无需再定义这些属性和行为,只需要和抽取出来…

【Java-SpringBoot+Vue+MySql】项目开发杂记

目录 1、关闭eslint 2、 新建路由 3、安装jQuery依赖-在Vue使用JQuery语法 4、MySQL———数据全部清除,自增归零 5、前后端数据传递——增加功能 6、使用element-ui获取当前表格中的数据——删除功能 1、关闭eslint 2、 新建路由 {path: /user,component: Lay…

LLM - Hugging Face 工程 BERT base model (uncased) 配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131400428 BERT是一个在大量英文数据上以自监督的方式预训练的变换器模型。这意味着它只是在原始文本上进行预训练,没有人以…

RabbitMQ实现延迟消息,RabbitMQ使用死信队列实现延迟消息,RabbitMQ延时队列插件

文章目录 一、什么是延迟消息1、队列的属性2、消息的属性3、什么是死信4、使用死信队列的缺点5、延时消息插件 二、JavaAPI利用死信队列实现RabbitMQ延迟消息1、代码实现2、基本流程 三、JavaAPI利用插件实现RabbitMQ延迟消息1、代码实现2、基本原理 四、Springboot利用死信队列…

5分钟自建可视化平台,在线拖拽组件也太方便了!

一、前言 我们在完成 C 端用户的业务需求时,发现大量电商推广页面的逻辑复杂度和交互程度都比较低,却要消耗大量的开发资源。同时在后台管理系统的开发过程中,我们也发现一些相同套路的页面在不同场景下需要重复开发,即使我们封装…

如何提升企业采购绩效?提高采购绩效的方法

采购是任何企业的一个重要方面,它在确保企业平稳高效运行方面发挥着重要作用。作为一名采购专业人员,你有责任确保你的企业以正确的质量、数量和价格获得所需的货物和服务。 本文将讨论一些最佳做法,这些做法可以帮助你提高采购专业人员的绩…

【032】C++高级开发之多态技术详解(虚函数最全讲解)

C的多态技术(虚函数)详解 引言一、多态的概念二、虚函数2.1、父类指针保存子类空间地址 带来的问题2.2、虚函数的定义2.3、虚函数的动态绑定机制2.4、重载、重定义、重写的区别 三、纯虚函数3.1、纯虚函数的定义方式3.2、纯虚函数的案例:饮品…

mvnd 安装和 idea配置mvnd

一、mvnd 安装 1、mvnd 下载地址 https://github.com/apache/maven-mvnd 2、安装 解压并配置环境变量到path 打开CMD终端,输入 mvnd -v 看到如下信息提示则安装成功 默认使用的是内置的maven,配置修改,兼容本地的maven 打开 Maven-mvn…

基于Java医院医患管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

如何测试webservice接口

看过网上很多对Web Service的解释,有些文章写得通俗易懂,但是缺少深度解读;有的文章图文并茂,但是没有现成案例;有的文章非常详细,但是没有直观感受。 于是,我想从测试一个web service接口的角…

【复习《剑指Offer》6-12题】【每天40分钟,我们一起用50天刷完 (剑指Offer)】第七天 7/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

围“桌”详谈|本周六直播,一起聊聊「发版」那些事儿!

🌍 你想要深入了解 ShardingSphere 、与业内技术大咖「面对面」探讨数据库领域的前沿趋势吗?那就一定不能错过由 ShardingSphere 社区出品、SphereEx 公司赞助的全球软件工程师必看的直播节目——《对谈时刻》!每期节目,我们都会邀…

VRRP缺省配置

一、VRRP缺省配置 表:VRRP参数缺省值 二、VRRP场景作用 表:VRRP场景作用 三、VRRP配置缺省参数汇总 1)配置VRRP备份组最大数 缺省情况下,设备只支持配置256个VRRP备份组(VRRP4和VRRP6备份组的总和) 当需…

计算机原理二:磁盘和内存速度差多少?

前言 作为程序员,我们不深究硬件,无需深入了解硬件的各个电路信号等细节,只了解存储器的基本相关知识。 存储器的层次结构 寄存器 计算机的一种硬件组件,用于存储和快速访问处理器的数据,位于CPU内部的小型存储器单…

火拼折叠屏:国产手机的杀手锏还是遮羞布?

刚过去的618,手机市场一反常态。 过去,国产安卓旗舰上演“大跳水”,苹果价格坚挺;现在,安卓旗舰优惠力度小,苹果却大降价,iPhone 14 Pro在各平台的优惠力度达到上千元。 IDC中国研究经理郭天翔…

安卓应用中的版本问题

用android Studio 做了一个应用,想发布在google play 里,就碰到一个版本的问题。 我上传了一个版本,更新了一点点,结果有这样一个错误:Version code 1 has already been used. Try another version code。本文就这问题…