0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Docker容器与虚拟机的区别

汽车玩家 来源:今日头条 作者:闻数起舞 2020-05-03 17:17 次阅读

我曾经将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上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 虚拟机
    +关注

    关注

    1

    文章

    880

    浏览量

    27720
  • Docker
    +关注

    关注

    0

    文章

    446

    浏览量

    11725
收藏 人收藏

    评论

    相关推荐

    虚拟机数据恢复—KVM虚拟机被误删除的数据恢复案例

    虚拟机数据恢复环境: Linux操作系统服务器,EXT4文件系统。服务器中有数台KVM 虚拟机虚拟机1:主数据库服务器 虚拟磁盘:系统盘(qcow2)+数据盘(raw)
    的头像 发表于08-07 13:33 93次阅读
    <b class='flag-5'>虚拟机</b>数据恢复—KVM<b class='flag-5'>虚拟机</b>被误删除的数据恢复案例

    ARM平台实现Docker容器技术

    技术,一个相同配置的主机往往可以运行更多数量的应用。 更快速的启动时间:传统的 虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒
    发表于07-25 14:36

    ARM平台实现Docker容器技术

    ,一个相同配置的主机往往可以运行更多数量的应用。更快速的启动时间:传统的 虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级
    发表于07-17 11:05

    Jtti:Docker会替代调虚

    吗? 答案:不会。 原因:是有些遗留应用是运行在windows系统上的。有些应用可以直接迁移到 虚拟上,但是不能直接在 容器中运行。现在得趋势是 虚拟机容器同时发展。
    的头像 发表于07-12 14:38 91次阅读
    Jtti:<b class='flag-5'>Docker</b>会替代调虚<b class='flag-5'>机</b>吗

    什么是虚拟机虚拟机真的那么好用吗?

    在日新月异的科技世界中, 虚拟化技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。 虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、系统测试和云
    的头像 发表于07-06 08:05 463次阅读
    什么是<b class='flag-5'>虚拟机</b>?<b class='flag-5'>虚拟机</b>真的那么好用吗?

    虚拟机的ip地址和主机一样吗

    地址,用于与其他设备进行通信。下面将详细介绍 虚拟机的IP地址和主机的IP地址之间的 区别和联系。 IP地址是用于在网络中唯一标识设备的一串数字。在TCP/IP协议栈中,IP地址被用于路由数据包,并将数据从源设备传递到目标设备。每个主机(或虚
    的头像 发表于03-26 15:34 2939次阅读

    虚拟机ubuntu怎么联网

    虚拟机ubuntu怎么联网 虚拟机(Virtual Machine)是运行在物理 (Host Machine)上的 虚拟操作系统环境。在 虚拟机
    的头像 发表于12-27 16:51 748次阅读

    虚拟机和模拟器有哪些异同点和区别

    虚拟机和模拟器有哪些异同点和 区别 虚拟机和模拟器是计算机领域中常用的技术,它们可以在一台计算机上同时运行多个操作系统或环境。 虚拟机和模拟器虽然功能相似,但是在定义、实现、性能、资源利
    的头像 发表于12-27 16:26 2052次阅读

    docker虚拟机有何区别

    整个 Docker由客户端、服务端和仓库构成
    的头像 发表于12-06 10:08 467次阅读
    <b class='flag-5'>docker</b>和<b class='flag-5'>虚拟机</b>有何<b class='flag-5'>区别</b>?

    虚拟机怎么进入root用户

    进入 虚拟机的root用户,需要通过以下步骤完成。首先,我们需要明确一点,root用户是Linux系统下的超级管理员,具有最高权限。 第一步:打开 虚拟机首先,要确保已经安装了 虚拟机软件,并启动
    的头像 发表于11-23 10:51 1.2w次阅读

    怎么安装linux虚拟机

    在计算机领域, 虚拟机是一种软件程序,它允许在主操作系统上运行多个 虚拟操作系统。Linux 虚拟机在开发、测试和学习等环境中得到广泛应用。本文将详细介绍如何安装Linux 虚拟机,并提供一个
    的头像 发表于11-23 10:50 869次阅读

    Docker虚拟机区别

    Docker虚拟机是两种不同的 虚拟化技术,它们在实现方式、资源消耗、运行性能等方面存在许多差异。本文将会详细介绍它们的 区别。 一、实现方式 1.1
    的头像 发表于11-23 09:37 5744次阅读

    docker部署mysql的坏处

    的问题和挑战。在这篇文章中,我们将探讨 Docker部署 MySQL 的坏处。 首先, Docker部署 MySQL 可能会面临性能问题。尽管 Docker提供了轻量级的 容器化解决
    的头像 发表于11-23 09:29 1107次阅读

    虚拟机如何运行c程序

    虚拟机(Virtual Machine,VM)是一种模拟了物理计算机的软件,可以在计算机上创建 虚拟的硬件平台,使得用户可以在其中运行操作系统和应用程序。在 虚拟机中运行C程序需要进行多个步骤,下面将给
    的头像 发表于11-17 10:14 3757次阅读

    linux虚拟机使用教程

    引言:Linux 虚拟机是一种方便且常用的技术,它允许用户在现有操作系统的基础上创建和运行另一个独立的操作系统。在本篇文章中,我们将提供一份详尽的教程,帮助你了解如何安装、配置和使用Linux 虚拟机
    的头像 发表于11-17 10:06 1051次阅读