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

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

3天内不再提示

虚拟机和容器,你应该怎么选?

马哥Linux运维 来源:未知 作者:胡薇 2018-07-11 10:17 次阅读

自从Linux上的容器变得流行以来,了解Linux容器和虚拟机之间的区别变得更加棘手。

Linux容器vs虚拟机 – 应用程序与操作系统

首先要了解的有关容器和虚拟机的一个事情是,一个运用于应用程序,另一个是为操作系统设计的。这就是为什么您经常会看到一些企业应用程序运行在容器上而不是自己的虚拟机上。在虚拟机上使用容器有一些优点。

容器最大的优点之一是可以预留比虚拟机少的资源。请记住,容器本质上是单个应用程序,而虚拟机需要更多资源来运行整个操作系统。

如果您需要运行MySQL,NGINX或其他服务,使用容器是非常有必要。但是,如果您需要在自己的服务器上运行完整的LAMP堆栈,则运行虚拟机更好。虚拟机有着更好的灵活性,可以供您选择您的操作系统,并在您认为合适的情况下进行升级。相比之下,运行已配置应用程序容器在主机的操作系统升级方面是隔离的。

Linux容器vs虚拟机 – 用例场景

我最喜欢使用容器的原因之一就是使用Linux库版本。例如,假设您需要Python的特定版本来开发应用程序。然后,当你在运行应用程序的盒子上更新时,突然发现Python版本发生了变化,导致应用程序无法正常工作。

使用容器的另一个好处是你可以把一个应用程序放到一个容器中,然后在任何支持你正在运行的容器类型的操作系统上运行它。当你想要一个运行在不同Linux发行版应用程序时。通过使用容器,可以在各种不同的发行版上运行类似的应用程序环境。容器提供了可移植性。

容器对于快速的跨发行版部署是更可行的,而虚拟机对于像运行LAMP堆栈这样的单一应用程序使用情况是更好的。

Linux容器vs虚拟机 – 安全性

与容器相比,虚拟机提供了更多的安全性。这并不是说容器不能被保护,而是说,默认的虚拟机提供了更大的隔离。请记住,容器可以共享系统资源而虚拟机不行。

在运行容器时,可以采取一些措施来降低风险,包括避免超级用户权限,确保从可信来源获取容器,并且保持最新状态。有些容器是数字签名的,这有助于确定您可以从可信来源获取容器。

最后,你需要保持容器的单一功能职责。一旦你开始在一个容器下结合软件职责,你会发现还是使用虚拟机最好。重申一下,容器是用于单一用途的应用程序,虚拟机用于多用途的应用程序。坚持这种做法,你将在安全性和整体功能方面处于更好的状况。

Linux容器vs虚拟机 – 选择合适的工具

无论虚拟机或容器类型如何,选择适合您需求的关键都在于研究每个选项的能力。在容器领域,Docker提供了强大的企业解决方案。这就吸引了那些关注Docker容器的公司,因为公司知道如果出现任何问题,他们可以得到他们所需要的支持。Docker是企业用户友好的选择,特别是在Docker Swarms中。而将Docker Swarms 与 Kubernetes 相比,Kubernetes在高级环境中的设置要复杂得多。

回到虚拟机方面,我一直发现Virtualbox可以提供更好的面向桌面的虚拟机环境。而VMware在服务器方面做了各种各样的产品,VMware拥有从存储到云服务器解决方案的各种虚拟机解决方案,还有其他选择(各种管理程序等)。但我认为VirtualBox和VMware很好地代表了桌面到服务器虚拟化的两个领域。

Linux容器vs虚拟机 – 赢家是?

在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以在虚拟机上运行容器。了解这一点很重要,因为这里没有明显的赢家或输家。事实上,这两种技术的需求完全不同。

容器将引起媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。

我认为值得一看的是Kubernetes和Docker Swar之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是Docker。然而现在,Kubernetes占据了更多的营地。可能随着时间的推移,我们将开始看到Kubernetes成为头条新闻,并成为容器阵营的头号人物。

你相信容器正在超越虚拟机吗?也许相反,你认为未来这两种技术将会结合?无论如何,请点击评论,让我们听听您的观点。无论如何,不管你是运行一个复杂的容器,还是运用虚拟机,我都想听听你对他们的看法。

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

    关注

    87

    文章

    10990

    浏览量

    206734
  • 虚拟机
    +关注

    关注

    1

    文章

    855

    浏览量

    27376

原文标题:运维大难题:Linux 容器和虚拟机应该怎么选?

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    虚拟机DNS问题

    我的主机开发板虚拟机本来能互相ping通的。今天我嫌samba服务器刷新慢,按照网上的说明修改虚拟机的/etc/hosts /etc/resolv.conf,拔掉了上网的网线,换成了连接笔记本
    发表于 03-06 18:56

    如何让虚拟机的Ubuntu上网?

    Pro 本文使用的Ubuntu : ARM裸机加强版配套的的Ubuntu16.04特别注意:如果使用的虚拟机和Ubuntu不一样,现象可能不一样,请具体情况具体分析。一、为什么要让虚拟机中的Ubuntu
    发表于 01-30 15:51

    使用VMware给虚拟机安装linux系统

    ,迅速将虚拟机的光盘设置,改为下面的设置,即勾“已连接”和“启动时连接”,如下图:5. 如果光盘镜像文件被正确加载和识别的话,就会出现下面的光盘启动界面。如果报错,就重启该虚拟机,并保证光盘设置正确
    发表于 07-05 06:09

    虚拟机ping不通PC

    。 问题:虚拟机也采用桥接,桥接的是PC上的网桥,但是貌似虚拟机ping不通PC了。之前PC上有线网卡和无线网卡没有做桥接时,虚拟机通过桥接是可以正常ping通PC的。 所以,现在这是什么情况,
    发表于 10-16 22:16

    为什么PC可以ping通虚拟机,但虚拟机ping不通PC?

    我的是笔记本连无线网,开发板通过另一个路由器连接PC,PC IP:192.168.1.100;虚拟机ip:192.168.1.123;板子ip:192.168.1.17遇到的问题:PC可以ping通虚拟机,但虚拟机ping不同P
    发表于 10-25 00:44

    虚拟机如何上网

    快速教会虚拟机如何上网
    发表于 05-15 15:06

    安装虚拟机

    1、安装虚拟机可以阅读往期文章:Mac苹果电脑安装虚拟机2、在虚拟机上安装CH340驱动,keil4,PZ-ISP,下载CH340驱动安装 下载keil4破解及汉化 下载普中科技烧录软件转载于
    发表于 11-19 08:10

    如何创建虚拟机

    实战开发--开发环境安装(五)1、下载软件vmware和ubuntu-20.04.1-desktop-amd64.iso2、创建虚拟机完整步骤3、安装嵌入式linux所需的工具包4、安装vmware tool,实现虚拟机与物理主机交换和拖拉文件功能,从而文件共享目的5、主
    发表于 12-16 07:45

    关于HarmonyOS虚拟机网络问题的解决办法分享

    网络编辑器】,如图:点右下角【更改设置】,授权管理员权限,在桥接模式的【桥接到】选择使用的网卡,我把它到我用的无线网卡,点【确定】,到Ubuntu打开终端,ping 百度,成功。问题2在虚拟机
    发表于 05-24 15:08

    容器虚拟机对比

    容器虚拟机某种程度上解决的是相似的问题,两者间也有不少相似之处。但就像会种菜未必是好厨子,容器虚拟机到底是两种不同工具而且有着各自适用的情况。作为技术人员我们
    发表于 10-12 16:11 0次下载

    Linux容器虚拟机之间的区别差异分析

    自从Linux上的容器变得流行以来,了解Linux容器虚拟机之间的区别变得更加棘手。本文将向您提供详细信息,以了解Linux容器虚拟机
    的头像 发表于 12-27 13:52 8716次阅读

    Docker容器虚拟机的区别

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

    容器虚拟机之间的主要区别

    人们通常将容器虚拟机进行比较,尽管容器规模更小并且需要的开销更少。这两种应用程序可以采用相同的基础设施,这一点很诱人。实际上,容器虚拟机
    的头像 发表于 08-10 11:40 8645次阅读

    如何区分虚拟机与Docker

    首先,大家需要明确一点,Docker容器不是虚拟机。 2014年,当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比
    的头像 发表于 02-14 11:36 802次阅读
    如何区分<b class='flag-5'>虚拟机</b>与Docker

    Docker与虚拟机的区别

    的操作系统实例来实现虚拟化的技术。其实现方式是通过Hypervisor来实现的。Hypervisor是一个运行在物理机上的软件或硬件,负责管理和分配虚拟机的硬件资源。 1.2 Docker Docker是一种容器化技术,它利用L
    的头像 发表于 11-23 09:37 2362次阅读