hdd和虚拟服务器区别,Docker容器与虚拟机的区别

2023-10-31

我曾经将Docker容器视为轻量级,精简的虚拟机。 进行这种比较是有道理的,因为至少在Docker的最初市场中,总是将其与虚拟机进行比较-例如," Docker花费的启动时间少于VM,等等"。

但是docker容器不是虚拟机。

让我们对Docker容器和虚拟机进行并排比较。

虚拟机

虚拟机(VM)是物理硬件的抽象,它将一台服务器变成很多服务器。 虚拟机管理程序允许多个VM在单台计算机上运行。 每个VM均包含操作系统,应用程序以及必要的二进制文件和库的完整副本-占用数十GB。 VM也可能启动缓慢。

> follow devkube.blogsopt.com

虚拟机架构

假设有许多层。 连接这些层后,它们便构成了虚拟机。

虚拟机基础结构的底层主要是虚拟机的硬件。

该硬件层主要是运行虚拟机所需的硬件池。 它主要由Ram组成-它可以是SSD(通常是SSD),甚至是低性能的HDD,CPU等。

在此层之上,运行一个主机操作系统-通常是Linux,有时是Windows。 在此之上,有一个称为管理程序层的层。 系统管理程序层有两种类型。 一种运行在主要用于数据中心的硬件层之上,另一种运行在用于VMware或VirtualBox等程序的操作系统之上。

在此Hypervisor层之上,运行来宾OS块。 假设您要彼此完全隔离地运行三种不同类型的应用程序,则需要启动三个独立的VM。 系统管理程序直接控制这三个VMS。

但是现在想象一下,这三个虚拟机有其操作系统-Linux或Windows。 现在,假设他们具有Linux操作系统,因此每个OS大约为700mb。 我们必须启动三个VM,这些VM在我们的操作系统上占据大约2.1GB的存储空间。 最重要的是,每个来宾OS都需要一套自己的bin /库-Python依赖项,Node模块等,以奠定运行该应用程序的基础。

现在,最后,我们在此之上具有我们的Application层,该层通常是您已构建的应用程序的源代码

什么是容器?

容器是应用程序层的抽象,将代码和依赖项打包在一起。 多个容器可以在同一台计算机上运行,并与其他容器共享其OS内核,每个容器在用户空间中作为隔离的进程运行。 容器占用的空间少于VM(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要的VM和操作系统更少。

> Follow devkube.blogspot.com

Docker容器架构

Docker并不是魔术,而是需要一些基础硬件来运行。 因此,第一层(硬件层)是虚拟机层基础结构所共有的。

在此之上,有一个主机操作系统。 它可以是能够运行Docker的任何操作系统。 Docker支持所有主要的Linux发行版,并且有一些方法可以在Windows计算机和Mac上运行Docker。

现在进入第三层。 这里有一些有趣的东西。 Docker守护程序替换了该层,该层是虚拟机体系结构中的管理程序层。 该服务在后台运行,负责运行Docker容器。

然后Bin / Libray驻留在该应用程序的容器中,并且有该应用程序的源代码。 Docker守护程序管理所有这些容器层。

因此,我们不需要来宾操作系统,并节省了它所占用的内存量。 我们还保存了运行这些VM时机器上的负载。

在这里,每个应用程序都相互隔离,因为它已托管在不同的容器中,但仍位于同一主机OS上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hdd和虚拟服务器区别,Docker容器与虚拟机的区别 的相关文章

  • rename函数在R语言中的使用及DataFrame变量抽取与重命名实战

    rename函数在R语言中的使用及DataFrame变量抽取与重命名实战 在R语言中 rename函数常用于对DataFrame数据进行列名的修改和重命名操作 DataFrame是一种非常常见的数据结构 它由行和列组成 类似于Excel中的
  • 2023.6.26

  • 【SWT】Composite中的子控件居中设置

    简介 SWT Composite是一种用于构建Java图形用户界面的工具包 它提供了丰富的控件和容器来创建复杂的用户界面 在一些情况下 需要将子控件在SWT Composite中进行居中设置 本篇博客将详细介绍如何在SWT Composit
  • mysql数据库应该怎么存储数组

    MySQL 数据库没有专门用于存储数组的数据类型 因此 如果你想在 MySQL 中存储数组 你可以使用以下几种方法之一 将数组转换为字符串 然后使用字符串类型 例如 VARCHAR 存储 例如 可以将数组 a b c 转换为字符串 a b
  • 【计算机网络】物理层(超多图详析)

    最近建立了一个知识库 里面很多相关知识 欢迎来访 https www yuque com zhumulangmafeng 5sdfr 前言 上一期我们已经完成了计算机网络 总览 知道了一些计算机网络的基础内容 如果你漏掉了 建议你先去看看上
  • 虚拟+现实:半实物仿真测试有效保证嵌入式系统的健壮与可靠

    随着现代信息技术与软硬件技术的快速发展 嵌入式系统的功能日益强大 嵌入式设备和软件应用领域越来越宽泛 近年来 嵌入式软件代码量呈爆炸式增长 对测试的要求越来越高 尤其是涉及防务 航空 汽车等安全关键领域 更加全面 系统的测试方法是必不可少的
  • 中国互联网技术联盟发布首个“互联网+”权威定义

    2015年5月 6月 7月 国家密集性的发布了三大重型文件 中国制造2025 大众创业万众创新政策措施意见 互联网 行动指导意见 随后 中国互联网技术联盟邀请专家委员会对此专门进行了闭门研讨和解读梳理 并将梳理成果向业界正式发布 一 基于互
  • [Wc2007]剪刀石头布【竞赛图最大三元环个数+费用流】

    题目链接 BZOJ 2597 给定一个存在不确定边的竞赛图 求原图有向三元环数的最大值 有些边是不确定方向的 我们需要给这些边定向来使得三元环的数目最多 总所周知 由三个点的竞赛图组成的三元环 每个点的入度都应该为1 这样才可以组成一个三元
  • [DCDC](DC-DC 电感)纹波率r是难题?来我这里来学习

    大家可能都有深刻体会 电子知识博大精深 无穷无尽 每个简单的知识点背后 都蕴含着无穷无尽的宝藏 古人云 学无止境 我现在就是这种感觉 学的越多 也就更加战战兢兢 如履薄冰 但我始终相信 虽然知识是无限的 但人的能力也是无限的 只要你肯 明天
  • kubeasz一键部署harbor、containerd运行时、高可用k8s(1.26.x)集群-Day 02

    1 生产环境部署架构 1 多master节点 实现master节点的高可用和高性能 2 单独的etcd分布式集群 生产使用SSD盘 高可用持久化k8s资源对象数据 并实现高可用 3 多node节点运行业务pod node节点可以是不同硬件规
  • 升级Linux下的sudo

    1 sudo 命令情景分析 介绍 Linux 下使用 sudo 命令 可以让普通用户也能执行一些或者全部的 root 命令 本文就对我们常用到 sudo 操作情景进行简单分析 通过一些例子来了解 sudo 命令相关的技巧 情景一 用户无权限
  • git常用命令记录

    多人合作开发代码提交流程 暂存新增的代码 快捷使用 git stash git stash save record 更新代码 快捷使用 git pull git pull origin master 释放刚刚暂存的代码 git stash
  • PMP考试必备-概念区分篇(二)

    一 组织过程资产和经验教训的区别 组织过程资产包括 模版 数据库 经验教训 模版和数据库是相对客观的资料 经验教训都是主观总结出来的东西 二 经验教训和问题的区别 1 经验教训必须和选择有关 你的选择让你感到得意或后悔的事情 叫经验教训 2
  • 【全网最强】2022年最新,一文带你学习并掌握C/C++基础知识,技巧,举一反三,C/C++语法知识与实用技巧。题解两种代码(C语言和C++).覆盖知识面广.代码有注释让你理解更快

    必须读的 前言 通俗易懂 小白来了都说好 包括C C 基本知识 精选136道题 C C 语法知识与实用技巧 题解两种代码 C语言和C 覆盖知识面广 1 变量 表达式与顺序语句 2 scanf printf语法及判断语句 3 循环语句 4 数
  • c言语库函数qsort的最详细用法

    qsort递增排序 qsort函数参数 void qsort void base 要比较数组的起始地址 size t num 要比较数组的大小 size t width 一个数组元素的大小 int comple const void ele
  • 蓝桥杯单片机数码管技巧

    数码管使用技巧 1如何运用数码管配合按键切换界面显示切换界面 方法 定义一个变量来显示显示界面 通过按键来改变变量的数值 从而切换显示界面 include
  • VS+QT没有自动生成.ui对应的ui_XXXX.h头文件问题

    1 在qt安装包下 gt qbase gt bin 目录下有对应的uic exe用来生成 ui对应的ui XXXX h头文件 所以 cmd进入bin目录 运行uic XXXX ui ui XXXX h就可以生成 也可以添加路径进行指定 如
  • EOS 数据签名与公匙验证代码用例

    本文编写了一个小例子诠释了EOS是如何对数据签名与校验的 通过本文可以理解了签名的重要性和数据的不可篡改性 系统 ubuntu 版本为EOS1 1 1 注 因为本文的程序是把EOS里面的钱包和fc工具的代码全部提取出来编译的 这个过程相对复
  • Redis简单入门

    一提起数据库 大多数人可能想到的主要是Oracle MySQL以及Microsoft SQL Server这三大巨头 但除了这三巨头外 很多新兴的数据库也慢慢进入开发者的眼帘 比如最近越来越火的搜索引擎式数据库Elasticsearch D

随机推荐

  • 202303读书笔记

    202302读书笔记 长安的荔枝 只要肯努力 办法总比困难多 长安的荔枝 这本书真是酣畅淋漓啊 读起来一气呵成 以讲故事的口吻叙述 上林署九品小官员 李善德 兢兢业业工作多年 终于借贷买了房 让妻子儿女有一个安身之所 一面沉浸在喜悦里 一面
  • 顺序表----数组结构c++

    include
  • js数组sort()方法按指定顺序排序

    数组的sort 方法可以把数组排序 不传参数的默认按字典排序 sort 方法还接受一个回调函数 按回调函数内代码逻辑排序 该函数要比较两个值 然后返回一个用于说明这两个值的相对顺序的数字 比较函数应该具有两个参数 a 和 b 若 a 小于
  • Centos7 rsync 实现文件同步

    rsync remote sync 是unix及类unix平台下的数据镜像备份软件 它不像FTP那样需要全备份 rsync可以根据数据的变化进行差异备份 从而减少数据流量 提高工作效率 序号 类型 ip 1 server 10 200 13
  • Unity LayerMask 的切换功能的实现

    组里需求 需要做一个按钮用来开启和关闭不同层的渲染 这是一个简单的问题 但是实现起来稍微繁琐 实现一个layermask的切换状态 你可能会做 你需要读取当前的某个层的状态 将该层的状态设置为相反的状态 因为layermask设计为二进制保
  • 记录好项目D13

    记录好项目 你好呀 这里是我专门记录一下从某些地方收集起来的项目 对项目修改 进行添砖加瓦 变成自己的闪亮项目 修修补补也可以成为毕设哦 本次的项目是个宠物商城系统 一 系统介绍 未注册用户 非注册用户 即游客身份 进入宠物官网首页 可以浏
  • redis-cli

    文章目录 集群中手动切换节点 xac xed 问题 查看集群节点 集群中手动切换节点 connect host port xac xed 问题 首先出现这个现象是因为序列化器没设置好 直接 get xac xed x00 x05t x00
  • Python os.walk 遍历指定深度的方法

    用os walk可以遍历多层目录 但是有时需要只遍历指定层数目录 比如 要获取某个目录的1级和2级子目录 可以用下面的方法 coding UTF 8 Python 3 6 import os def get sub dirs root pa
  • xss-labs靶场训练(1~4关)

    第一关 前端F12查看代码 这里只能看到参数test输出在h2里面 可以尝试直接构造payload 成功 后台关键源码 这里是以GET方法获取参数name 并直接输出 没有任何过滤或转义 第二关 尝试上一关的方法 Payload没有执行成功
  • 第四十七节 C++ 匿名函数对象 - lambda 表达式

    函数对象 函数的对象 实现operator 常用于算法中 详见上一节函数对象的讲解 lambda表达式属于函数对象 但其是匿名的 分为 1 一元函数的lambda表达式 不使用捕获列表 使用捕获列表 2 一元谓词的lambda表达式 不使用
  • linux shell脚本双引号转义,Linux Shell脚本中单引号(‘)和双引号(“)的区别

    在Linux操作系统上编写Shell脚本时候 我们是在变量的前面使用 符号来获取该变量的值 通常在脚本中使用 param 这种带双引号的格式 但也有出现使用 param 这种带引号的使用的场景 首先大家看一段例子 root linux na
  • JAVA代码保护工具DashO Pro v10.0.0 Beta 2重磅上线!更新DashO Gradle插件!

    DashO是一个Java和Android的混用程序 它提供企业级应用的加固和屏蔽 大大降低了知识产权盗窃 数据盗窃 盗版和篡改的风险 分层混淆 加密 水印 自动失效 反调试 反篡改 反仿真器 反挂钩 反根设备解决方案 为世界各地的应用程序提
  • 单片机毕业设计 stm32智能电子秤系统设计与实现 - 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 4 1 STM32F103C8T6 4 2 HX711压力传感器 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目
  • Simulink Simscape基础仿真电路

    在网上找了挺多关于MATLAB Simulink simscape仿真电路的资料都没有自己想要的 大都是Sympowersystem的教程 最后还是上了YouTube观看了一些教程 现在做下学习记录 由于我电脑上安装了2016和2010两个
  • 身份和访问管理解决方案:混合型IAM

    对于依赖于本地 IT 基础结构和传统安全模型的组织 可以更轻松地验证和授权企业网络内的所有内容 包括设备 用户 应用程序和服务器 尝试从公司网络外部获取访问权限的用户使用虚拟专用网络 VPN 和网络访问控制 NAC 进行身份验证 随着云和远
  • java中equals的重写_Java重写equals方法(重点讲解)

    为什么equals 方法要重写 判断两个对象在逻辑上是否相等 如根据类的成员变量来判断两个类的实例是否相等 而继承Object中的equals方法只能判断两个引用变量是否是同一个对象 这样我们往往需要重写equals 方法 我们向一个没有重
  • Hadoop-The variance for this alert is **MB which is 20% of the **MB average (**MB is the limit)

    The variance for this alert is MB which is 20 of the MB average MB is the limit 1 调整如下阀值 2 检查HDFS文件系统使用率 清空HDFS上的 trash垃
  • SpringBoot+ftp 实现文件的上传、下载与删除

    SpringBoot ftp 实现文件的上传 下载与删除 一 引包 二 配置 三 代码 3 1配置类 3 2 接口服务 3 3controller层示例 不做过多解释 可移植 比较简单方便 一 引包 3 8 0是目前最新的 除非重大更新 基
  • Python基础——常见数据类型总结

    在Python中常见的数据类型有以下8个类型 分别是 int 整数类型 整形 float 浮点类型 浮点型 bool 布尔类型 str 字符串类型 list 列表类型 tuple 元组类型 dict 字典类型 set 集合类型 接下来一一展
  • hdd和虚拟服务器区别,Docker容器与虚拟机的区别

    我曾经将Docker容器视为轻量级 精简的虚拟机 进行这种比较是有道理的 因为至少在Docker的最初市场中 总是将其与虚拟机进行比较 例如 Docker花费的启动时间少于VM 等等 但是docker容器不是虚拟机 让我们对Docker容器