Linux 容器 vs 虚拟机 —— 谁更胜一筹

自从Linux上的容器变得流行以来,了解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成为头条新闻,并成为容器阵营的头号人物。

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

来自:开源中国社区 编译 链接:www.oschina.net/news/90833/linux-containers-vs-virtual-machines 原文:www.datamation.com/open-source/linux-containers-vs-virtual-machines.html


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-12-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

如何构建企业级Docker Registry Server

很多人问我,虚拟机镜像和docker镜像的区别是什么?其实区别非常明显,我们可以通过阅读Dockerfile文件就可以知道这个镜像都做了哪些操作,能提供什么服务...

236100
来自专栏云计算与大数据

阅读:美团容器平台架构及容器技术实践

原文地址:https://note.youdao.com/share/?id=08d7c57b04dda159c53155b00cbbe5cb&type=not...

194110
来自专栏SDNLAB

新型云基础设施项目Airship 介绍

AT&T正在与SK电信(SKT),Intel和OpenStack基金会合作推出一个名为Airship的新型云开放基础设施项目。Airship的宣传语是“声明式地...

23820
来自专栏云计算D1net

想要使用容器技术 这5类遗留工具就应该被淘汰

充分利用容器并不只是安装Dockers和激活容器应用程序那么简单。你需要改进的同样还有监控方法、安全性能等。 这么做的理由是,容器并不只是对你过去工作中使用到的...

35680
来自专栏云计算D1net

为什么Docker会受欢迎?看完这些才恍然大悟

Docker不是唯一的容器平台,也不是第一个推出的。其他框架,如OpenVZ和LXC,从20世纪20年代中期诞生。而其他类似容器的技术,如FreeBSD更进一步...

35960
来自专栏祝威廉

其实连Docker公司都把Docker用错啦

好吧,我承认我标题党了。但是这篇内容应该让你从一个新的角度理解Docker的本质是什么。

8520
来自专栏安恒信息

漏洞预警 | FFmpeg组件处理播放列表文件可能导致信息泄露

FFmpeg是一个免费的可以执行音讯和视讯多种格式的录影、转档、串流功能的软件,广泛的应用于各大视频网站上。 FFmpeg处理HLS播放列表文件的方式存在安全漏...

30070
来自专栏云计算

OpenShift的容器镜像(第1部分):目标

本文来源于2017 EMEA (Europe, the Middle East and Africa,欧洲,中东和非洲) 红帽技术交流会议的会议记录,与会者包括...

29460
来自专栏FreeBuf

如何打造一款可靠的WAF(Web应用防火墙)

之前写了一篇《WAF防御能力评测及工具》,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!)。本篇文章从W...

39450
来自专栏云计算爱好者

简单介绍Docker的架构特性与局限

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是...

28260

扫码关注云+社区

领取腾讯云代金券