虚拟机和Docker有什么区别?

这篇具有很好参考价值的文章主要介绍了虚拟机和Docker有什么区别?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

虚拟机和Docker有什么区别?

虚拟机

对于虚拟机,抽象层或抽象软件成为管理程序。管理程序就是帮助虚拟机模拟物理计算机的东西。在管理程序下面,我们有些硬件。管理程序管理单个物理主机上不同虚拟机之间的资源分配。管理程序管理单个物理主机上不同虚拟机之间的资源分配。也就是管理程序上有很多个虚拟机,每个虚拟机都运行自己的操作系统,并有自己的虚拟硬件。比如虚拟CPU虚拟存储之类的东西。

管理程序是负责创建,管理和运行这些虚拟机的软件。管理程序有两种类型:

  • 裸机管理程序:直接在主机硬件上运行,在那台电脑上
  • 托管管理程序:管理程序在现有操作系统上运行

虚拟组件,是虚拟机的仿真组件,虚拟cpu,虚拟内存,虚拟存储,虚拟网络接口,这些组件显示给客户机操作系统,就好像他是真正的硬件一样。管理程序负责管理这些虚拟资源并将其分配给每个虚拟机。每个虚拟机中可以运行单个操作系统,使得用户可以在一个物理机上运行多个操作系统和应用程序。

Docker

Docker是一个使用容器化技术的开源平台,他允许开发人员将应用程序以及其依赖打包到轻量级,可移植的容器中。Docker容器对操作系统进行虚拟化,而不是像找个虚拟机管理程序那样对底层硬件进行虚拟化。因此每个独立的容器只包括应用程序及其库和依赖项。

我们先了解Docker引擎,这是管理Docker容器生命周期的核心软件,是为创建,运行和编排容器提供基础设施之类的事情。Docker引擎与主机内核交互,以分配资源并强制容器之间的隔离。主要通过两件事情实现的:一种叫做cgroups或control groups的东西,他们在进程之间分配资源。还有一种叫做名称空间的东西,名称空间限制容器对系统上其他资源的访问和可见性,从而确保容器都有自己的隔离环境。

还有docker镜像,docker镜像是轻量的、独立的、可执行的包,包含了有哪些一个软件所需的一切,包括软件的代码,运行时,系统工具,库以及需要的任何设置。Docker镜像是使用Docker文件构成的,Docker文件是非常简单的文档,提供了创建镜像的说明。

还有容器本身,这是docker引擎中运行的镜像的实例,每个容器都是一个独立的,自给自足的环境,只包括必要的组件,用于运行特定的应用程序,可以快速启动,停止和重启。 

怎么选择?

虚拟机

1、各种操作系统,虚拟机可以运行不同的os,所以我们可以在一个vm运行win,另一个运行linux,都在同一个硬件上。当你跨平台测试应用的时候就很方便。

2、隔离,两种都提供了隔离,但是虚拟机中应为每个都运行在独立的内核和os上,所以基本上都是内置的。

3、遗留问题。虚拟机非常适合运行遗留应用程序,依赖于可能与主机操作系统或其他容器不兼容的特定操作系统版本或者配置的容器。因此,你可以为遗留的应用程序设计一个完美的环境,而不必对其进行更改。

Docker

1、微服务。Docker容器的轻量级特性,他的快速启动时间以及打包和分发依赖关系的能力,使其成为管理基于微服务的应用程序的理想选择

2、速度。快速开发和部署使用Docker容器的能力,因为我们可以快速构建,部署和扩展这些容器,使得非常适合敏捷开发实践和持续继承、持续部署,CI/CD管道。

3、资源效率,容器共享相同的主机内核,并且占用的空间比虚拟机小得多,运行更多的容器更小的开销在同一硬件上运行。

总结

因此在docker和vm之间选择,本质上需要考虑应用程序和基础设施的特定需求。在混合环境中国使用两种技术是很常见的,遗留引用可能vm上运行,微服务在docker运行,不是非此即彼的,虚拟化技术已经改变了我们部署和管理应用的方式

虚拟机和Docker有什么区别?

 文章来源地址https://www.toymoban.com/news/detail-437398.html

到了这里,关于虚拟机和Docker有什么区别?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity知识】Application.streamingAssetsPath 和 Application.persistentDataPath 是什么?这两个路径有何区别?对于我们的意义是什么?

    Application.streamingAssetsPath 和 Application.persistentDataPath 是两个提供文件系统路径的预定义变量。它们在Unity中用于存储和读取游戏数据。 Application.streamingAssetsPath:是一个只读路径,指向游戏包内的“StreamingAssets”文件夹。这个文件夹用于存储那些在游戏打包时需要一起打包的文

    2024年02月11日
    浏览(35)
  • 虚拟机和Windows的文件传输

    直接将虚拟机linux系统的文件拖曳到windows桌面,或者直接将windows的文件拖曳到虚拟机linux系统当中,可以实现文件传输。当然复制粘贴方式也可以,但是前提是需要下载安装好VMware tools。 概念:在Windows中创建一个文件夹,且该文件夹在Windows和Linux系统中能被共用。 在虚拟机

    2024年02月06日
    浏览(28)
  • 虚拟机和开发板之间通过NFS互联

    NFS 是 Network File System 的首字母缩写。它是一种分布式协议,使客户端可以访问远程服务器上的共享文件。它允许网络中的计算机之间通过TCP/IP网络共享资源。 sudo apt-get install nfs-kernel-server 遇到提示:输入Y,同意。 VMware桥接模式设置:设置到以太网网口 编辑虚拟机的网络适

    2024年02月08日
    浏览(24)
  • 摩尔状型态机和米利型状态机区别

    摩尔型(Moore):输出只与状态有关与输入无关 米利型(Mealy):输出不仅与状态有关还和输入有关 例如:我们进行检测序列:1101 输入/输出   图 1摩尔型状态机   图 2米利型状态机 总结 :        我们通过对比可以看出,摩尔型状态机要比米利型状态机多一个状态,同时

    2024年02月12日
    浏览(24)
  • CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理

    容器无疑已经成为新的云计算基础设施,企业私有云平台的建设重心,正在从虚拟化的计算、存储、网络的建设,转向构建以容器、微服务等为核心的云原生平台。不过值得注意的是,企业 IT 系统在进行容器化改造的过程中,由于历史遗留系统、技术债务、内核依赖等原因,

    2024年01月25日
    浏览(91)
  • 云和虚拟化有什么区别?

    云 和虚拟化概念容易被混淆,特别是因为它们都围绕着用抽象资源创建有用的环境。但是,虚拟化是一项允许您从单个物理硬件系统创建多个模拟环境或专用资源的技术,而云是可在整个网络中抽象,汇总和共享可伸缩资源的IT环境。简而言之,虚拟化是一项技术,而云是一

    2024年01月17日
    浏览(26)
  • 使用VMware安装Ubuntu虚拟机和VMware Tools

    【前言】 本教程将演示通过 VMware 安装 Ubuntu ,请提前下载好以下文件哦: ① VMware 软件 ② Ubuntu 的 光盘镜像文件(.iso) 【下载地址】 VMware 官网链接 https://www.vmware.com/ 本教程使用版本:VMware Workstation 16 Pro Ubuntu 官网链接 https://www.ubuntu.org.cn/global 下载链接:https://releases.u

    2024年02月05日
    浏览(40)
  • 医疗虚拟仿真和虚拟现实有什么区别?哪个更好?

    随着我们在仿真教育中越来越多地使用新技术,区分虚拟模式的类型很重要。虚拟仿真是一个统称,用来概括术语来描述各种基于仿真的体验,从基于屏幕的平台到沉浸式虚拟现实。然而,各虚拟平台在保真度、沉浸感和临场感的水平上有很大差异。医疗教育中存在许多虚拟

    2024年02月11日
    浏览(24)
  • 虚拟化与云计算有什么区别?

    两者核心理念都是从硬件中分离资源,从而创建可用的环境,所以很容易被混为一谈。 虚拟化有助于创建云计算,但它并非实现云计算的决定性技术,也可能只是其中的一种。你可以这样理解: 虚拟化是一种将功能与硬件分离的技术 云计算远非只是依赖于这种分离的解决方

    2024年02月10日
    浏览(36)
  • 【云原生】手把手带你安装VirtualBox虚拟机和网络配置

    VirtualBox 是一款免费的开源虚拟机软件,它可以在 Windows 、 Mac OS 和 Linux 操作系统上运行。 VirtualBox 可以让用户在单个计算机上创建多个虚拟计算机,每个虚拟计算机都可以运行不同的操作系统和应用程序,就像它们是独立的计算机一样。 Virtualbox 下载地址:https://www.virtual

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包