Docker容器如何抵御Linux OS故障影响?

日期: 2014-07-23 作者:杨旭 来源:TechTarget中国

现在说起Docker,想必大家已经不再陌生。Docker自去年首次进入开源软件市场之后就实现了爆炸式增长。上个月受到Google的公开支持,同时Docker 1.0版本的正式发布更是让Docker热潮更上一层。

任何技术的出现到成熟都是需要付出一些代价的,现在,已经有人给Docker泼冷水了。

众所周知,Docker可以轻松地将应用和服务从开发环境迁移到生产环境,或者从一个服务器环境迁移到另一个环境。有人认为Docker也存在致命弱点,那就是云工作负载的可移植性和管理。他们将其与hypervisors进行比较,并建议VM可能是一种更好的管理云工作负载的方式。Docker容器通过共享的Linux实现,因此会容易产生更多的潜在漏洞,这些漏洞可以影响服务器上每个容器的操作,特别是当底层操作系统出现故障时。在这种情况下,所有容器中的工作负载会出现性能下降。

事实上,Docker对Linux操作系统故障有自己的防御手段:

  • 命名空间具有隔离容器所有进程,包括其他容器和主机操作系统的能力。每个容器都有自己的网络堆栈。如果一个容器出现故障,另一个容器仍然可以跟其他容器和主机操作系统互动。
  • Docker的Cgroups在管理资源的同时可以提供隔离功能。Cgroups不仅确保容器共享底层资源,还可以进行检测以防止其中某个容器耗尽所有资源降低其他容器性能。
  • 如果有问题发生,Docker容器可以自动重启,从而实现额外的灵活性。你也可以扩展与操作系统之间的依赖关系,这样进一步降低了单个操作系统影响所有容器的风险。

你要知道核心观点是,容器比VM有更快更轻便的资源。只要用户愿意选择使用单独的平台来为所有的容器提供共享的操作系统。容器的真正优势在于:

  • 一个完整的虚拟机创建和启动过程可能需要花费几分钟的时间,而一个容器可以在几秒内启动。
  • 容器为自己内部的应用程序提供更好的性能,而在VM上运行的应用程序会产生由hypervisor运行所带来的开销。

正是这些轻量级架构的优势及更好的性能让Docker很受欢迎。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐