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成为头条新闻,并成为容器阵营的头号人物。
你相信容器正在超越虚拟机吗?也许相反,你认为未来这两种技术将会结合?无论如何,请点击评论,让我们听听您的观点。无论如何,不管你是运行一个复杂的容器,还是运用虚拟机,我都想听听你对他们的看法。
自从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成为头条新闻,并成为容器阵营的头号人物。
你相信容器正在超越虚拟机吗?也许相反,你认为未来这两种技术将会结合?无论如何,请点击评论,让我们听听您的观点。无论如何,不管你是运行一个复杂的容器,还是运用虚拟机,我都想听听你对他们的看法。
Linux 容器 vs 虚拟机 —— 谁更胜一筹的更多相关文章
- Linux 容器 vs 虚拟机——谁更胜一筹
自从Linux上的容器变得流行以来,了解Linux容器和虚拟机之间的区别变得更加棘手.本文将向您提供详细信息,以了解Linux容器和虚拟机之间的差异. Linux容器vs虚拟机 - 应用程序与操作系统 ...
- Linux 容器的使用
Linux 容器的使用 Linux 容器在 v2.6.29版本之后就加入到内核之中了, 之前虽然也听说过, 但一直没有太留心, 一直使用 KVM 来创建虚拟机. 直至最近 Docker 大出风头, 才 ...
- Linux 容器技术史话:从 chroot 到未来
Linux 容器是一个在单一 Linux 主机上提供多个隔离的 Linux 环境的操作系统级虚拟技术.不像虚拟机(VM),容器并不需要运行专用的访客(guest)操作系统.容器们共享宿主机的(host ...
- Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】
转自:http://www.oschina.net/translate/docker-lightweight-linux-containers-consistent-development-and-d ...
- 通过 Linux 容器进行虚拟化
简单介绍 Linux 容器是一种轻量级"虚拟化"方法,用于在单个控制主机上同一时候执行多个虚拟装置(容器).还有一个可用来描写叙述 Linux 容器所执行的操作的术语是" ...
- Docker,容器,虚拟机和红烧肉
Docker火了,有多火你自己看看下面的统计数据就知道了 在发布4个月的时间里,下载量就超过50000次,github上收到超过4000个star,涌现了超过100个贡献者,并且有超过150个项目和超 ...
- IBM研究院找到度量安全性方法:容器与虚拟机,谁更安全?
https://zhuanlan.zhihu.com/p/40446759 虚拟机比容器更安全吗?你可能会有自己的答案,但IBM研究院发现容器的安全性与虚拟机一样,甚至更加安全. 一般来说,从接口宽度 ...
- 【Docker】容器、虚拟机与Docker概念全解析
导读 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.本文立足于新手,从容器和虚拟机两个大 ...
- 关于容器、虚拟机以及 Docker 的一个入门教程
Yves yao · 2017-09-05翻译 · 1315阅读 原文链接 huangxiaolu审校 源地址:http://zcfy.cc/article/a-beginner-friendly ...
随机推荐
- Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之登录功能
昨天的博客中我分享了个人关于ssh实现员工管理的框架整合,今天我在分享管理员登录功能的实现. 转载请注明出处"http://www.cnblogs.com/smfx1314/p/78013 ...
- PHPMailer < 5.2.18 远程代码执行漏洞(CVE-2016-10033)
PHPMailer < 5.2.18 Remote Code Execution 本文将简单展示一下PHPMailer远程代码执行漏洞(CVE-2016-10033)的利用过程,使用的是别人已经 ...
- 使用SQLPLUS创建用户名和表空间
用sqlplus为oracle创建用户和表空间用sqlplus为oracle创建用户和表空间用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的, ...
- spring4+srpingmvc+mybatis基本框架(app后台框架搭建一)
前言: 随着spring 越来越强大,用spring4来搭建框架也是很快速,问题是你是对spring了解有多深入.如果你是新手,那么在搭建的过程中可以遇到各种各样奇葩的问题. SSM框架的搭建是作为我 ...
- 后端自动化版本管理,再也不用改URL了!
每次升级接口版本时,后端.前端.客户端都是痛苦的: 后端:要兼容旧版客户端,以前的接口不能动啊,又得写新接口.新文档了,唉! 前端:还好,就是版本号到处都是,改起来比较烦. Android:快点啊产品 ...
- Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)
Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...
- 两种数据传输的方式——get和post。
Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...
- AutoCAD.net支持后台线程-Socket服务端
最近因为公司项目的需求,CAD作为服务端在服务器中常驻运行,等待客户端远程发送执行任务的指令,最终确认用Socket-tcp通讯,CAD需要实时监听客户端发送的消息,这时就需要开启线程执行Socket ...
- js中变量的作用域、变量提升、链式作用域结构
一:作用域 在ES6之前,javascript没有块级作用域(一对{}即为一个块级作用域),只有全局作用域和函数作用域(局部),因此,对应的有全局变量和局部变量.在函数内部可以访问到全局变量,但在函数 ...
- node学习笔记(二)(ajax方式向node后台提交数据)
通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; ...