远离 Docker 的五大陷阱

Docker在广大开发人员和行业专业人士当中仍然是个热门话题。先简要介绍一下Docker的功能:它作为一个容器系统来运行,拿来运行软件应用程序所需的构建模板(代码、运行时环境、系统工具和系统库)后,将它们包装成可以在任何服务器上执行的小巧程序包。Docker的优点在于,能够让在一台服务器上运行的应用程序实例数量比使用虚拟机这种方法多出两三倍。就未来的应用开发而言,这是一种大有前景的工具,但是即便Docker已取得了令人难以置信的进步,它依然存在诸多缺点。不妨看一下Docker的五大陷阱:

1. 多个Docker主机上的容器之间的联网有待加强

Docker公司首席执行官Solomon Hykes在LinuxCon大会上亲口说了这番话:Docker缺少容器之间的高层次联网功能。问题的一方面在于,Docker最佳实践并不鼓励在一个容器中运行多个服务;而这意味着与其他容器进行联系显得至关重要。在大规模环境下,如果容器需要与可能不在同一个Docker主机上的其他容器进行联系,这可能成为一大问题。由于许多应用程序出于安全和功能的考量而需要特定的联网环境,试图解决这个大规模问题时,Docker的原生联网功能多少受到了限制。

这个联网问题的另一个方面是,Docker缺少原生服务发现功能。由于应用程序和服务可能有众多广泛的组件,如果我们谈论大规模应用程序,服务发现功能变得必不可少。Docker社区在处理这个问题,一个办法就是实施etcd和skydns。

Docker 1.7推出了容器网络管理项目libnetwork;虽然它仍处于早期阶段,但是有望为解决原生Docker实施的网络难题提供一种方案。此外,已成立了Weave等第三方项目,扩展Docker的网络功能,但是这只不过给旨在简化开发、让开发应用程序和复杂更容易的软件增添了复杂性。

2. 规模扩展

对大多数初创企业而言,规模在一开始不是个问题。实际上,许多公司可能根本不需要好多台服务器来运行应用程序。然而,如果公司确实需要好多台服务器运行应用程序,构建Docker集群并非易事。许多项目围绕这个主题而日渐发展,包括Docker Swarm,Docker拿出的这个方案旨在将容器工作负载调度到Docker机器集群上。其主要问题是,Docker Swarm还没有准备好用于生产环境;对于那些现在就想开始构建Docker集群的公司而言,它们目前的选择很有限。

准备好用于生产环境的一种选择就是谷歌设立的项目:Kubernetes。其他选择基于Apache Mesos,或者以集群为中心的Linux发行版(比如CoreOS)。这些解决方案有一个共同点:安装架设起来并不容易。谷歌可以帮助你:你可以在谷歌计算引擎服务(Google Compute Engine)上轻松构建Kubernetes集群,但是那些想要构建专用Docker集群的企业客户又该如何是好?有一件事是肯定的,那就是构建Docker集群需要更容易些,围绕这方面的服务肯定会迅速涌现。

3. 安全

人们尚未就容器有多安全达成多大的一致,这本身就是个安全问题。相比虚拟机,容器提供的隔离和安全机制较弱。Docker的安全说明文档声称:

使用Docker运行容器(及应用程序)意味着要运行Docker守护进程。该守护进程目前需要根权限。

Docker需要访问根才能正常运行,而这意味着万一哪里出了岔子,有人大搞破坏的可能性会很大。为此,Docker给出的办法就是限制Docker只能被“可信用户”访问,但大家都知道,连可信用户有时也会设置安全性很差的密码。用户很容易做一些靠不住的事情,因为只要其中一个薄弱的密码被破解,主机上的所有容器就会遭殃。

虽然Docker能够将底层主机的许多方面与容器中运行的应用程序隔离开来,但这种隔离不如虚拟机来得强大。

NCR公司的安全专家Lenny Zeltzer强调了安全方面的差异:虚拟机在虚拟机管理程序上运行独立的操作系统实例,并不与底层操作系统共享内核。最终,只要黑客获得了容器操作系统的根访问权,随后就能够访问在Docker主机上以根用户身份运行的Docker守护进程――这确实可能会引起大麻烦。Docker的安全仍不成熟,也许更糟。

4. 并非适合每个人

Docker的现状会要求用户具备比普通开发人员更多的系统管理知识/技巧来使用Docker。许多Docker文章声称使用场合简单,却忽视了在多主机系统上使用Docker的复杂性。这可能会误人子弟,好多人不知道在开发环境下运行Docker实际需要什么。

在开发环境下使用Docker实际上需要开发人员在系统管理方面具备扎实的基础,学习过程可能很困难。换句话说,这根本不如想象的来得简单。

管理生产环境下的Docker需要具备还要多的技能。必须认真考虑诸多变化因素,比如:管理容器日志及数据、多个主机之间的联系、私有映像库、在没有停机的情况下指导容器部署以及更多变数。

5. 容器vs虚拟机

没错,相比虚拟机,容器具有明显的优点:能够在服务器实例上运行多个服务器实例,又不会减慢运行速度。而这种速度可能以降低了稳定性、安全性和兼容性为代价。在内核和用户空间中运行不相兼容或未经测试的实例会导致意想不到的行为。

虚拟机管理程序的性能比以往任何时候都要高;按需配置的虚拟机日益变得速度越来越快,成本越来越低。虚拟化性能大不一样,具体取决于工作负载的类型;繁重密集的应用程序显然会导致性能较低。这种情况下,容器化是一种比较好的方法,但是你应该使用容器以满足具体情况下的要求,不然可能不值得为了速度提升而冒风险。

Docker在更容易、更高效地、更快速地包装和交付应用程序方面确实大有希望。不管怎样,缺点相当明显,与现代虚拟机相比更是如此。撇开所有批评的声音,Docker正致力于为未来应用开发不断改进和创新,它已经迎来了1.8版本,正有条不紊地解决这些问题。

本文作者:佚名

来源:51CTO

时间: 2024-08-01 19:31:44

远离 Docker 的五大陷阱的相关文章

影响企业安全运营中心运营的五大陷阱

前任美国陆军网络司令部安全运营中心负责人就抵御攻击者入侵议题分享了他的经验与惨痛教训."从立场角度出发,负责运行紧急响应团队与扮演安全运营中心主管角色之间存在着显著差别.我将后者称为一种"记者席"类型的网络安全视角,而这一结论源自我在美国陆军网络司令部的安全运营中心担任负责人以及近来在FireHost公司担任CSO职务时积累到的所见所闻."在扮演上述角色的过程中,我的任务并非承担特定基础设施的安全保障工作,但这些工作经历却让我开始意识到大部分从业者在处理安全事务时采

拆穿骗局网购五大陷阱

淘宝.天猫.京东.亚马逊--随着互联网的普及,这些网上商城的名字越来越多的被人们所提及,不少人在网上购物的频率甚至已经超过了实体商城.然而,在网购给消费者带来便利的同时,一些不法分子也是蠢蠢欲动.数据显示,2011年,淘宝网共处理侵权商品信息6320万条,其中接受投诉受理的商品信息处理量为870万余条. 在网购时应该如何防骗,不让骗子有机可乘?在"3.15消费者权益日"这天,本报联合淘宝网,推出网购各个环节几种常见的网购骗局及防骗技巧,帮助消费者们实现安全网上消费. 正确区分安全邮件

企业同步共享实施的五大陷阱

当使用企业文件同步共享应用时,一些最大的障碍可能会在初始部署的过程中出现. 在你评估企业同步和共享工具时,应该考虑哪些问题可以帮助你保持对企业数据的控制并减少携带自己的应用(BYOA)的倾向?产品本身的特性和功能自然很重要,需求因用例不同而不同.但当组织专注于功能时往往会忽视来自一个领域的担忧:推出过程中所涉及到的各种挑战. 以下简短的列出了企业同步共享所涉及的各种陷阱,以及你能够采取的措施. 没有正式的政策和指南就跳到BYOD 这并不仅是企业同步和共享的特有挑战,但在你推出移动生产力应用时值得

关于大数据的五大陷阱

大数据庞大而又复杂.这不仅体现在信息的积累上,而且体现在其对经营策略的影响上.据IDC预测,2018年,全球业务分析开支将高达896亿美元.成功利用大数据已成为众多企业的关键要素,其中包括制定平台战略,无论它是"数据中心",还是"数据平台"亦或是"数据湖". 很多还未实施大数据项目的企业正在评估他们2016年的数据战略,其它公司则在审视它们现有的项目,探索利用分析改善经营和增加收入的新方法.事实上,大数据并不容易做到.据Gartner预测,直到2

短信欺诈五大陷阱

1.中奖型案例:"尊敬的客户,××公司庆祝成立10周年庆典,您的手机号码中了二等奖,奖金××万元,兑奖热线××××××."揭秘:利用人们的贪利心理设计"巨奖陷阱".2.银行卡消费型案例:"银联卡务部通知:您×月×日在××店消费6800元,将在您的账户上扣除,已经确认.如有疑问,咨询电话××××××."揭秘:利用人们的恐慌心理设计迷局,逐步引入"转账陷阱".3."六合彩"透码型案例:屡次听到铃声,一接电话又挂

谁偷走了你的手机流量?揭秘五大流量陷阱

近日,安全研究及漏洞报告平台乌云网站发布安全警示,指出手机软件被篡改,乱弹广告后台偷跑流量的现象日趋严重,而关于手机有可能偷跑流量的消息在众多智能手机用户当中引发了不小的反响,有超过30%的网友反馈曾经出现手机偷跑流量的现象. 至于流量偷跑的原因,部分有一定手机知识基础的被访者称,会采用流量http://www.aliyun.com/zixun/aggregation/23101.html">监控软件进行测试,发现偷跑流量的软件有很多是在第三方软件市场下载的,它们被黑客"二次打包

泡温泉变成洗澡网络团购陷阱多

■新快报记者 邹柳洲 通讯员 梁慧玲 目前,网络团购已成为年轻白领一族的时尚消费方式,各类团购网大幅增长.针对团购过程中容易出现的问题,近日,东莞市旅游局发出了网络团购旅游的消费警示.东莞市消委会也提醒消费者,目前网络团购旅游在服务质量.安全等方面存在着诸多问题,建议大家一定要选择值得信赖的团购网站和正规旅行社. 旅游团购问题多 近两年来,网络团购热潮相当火,各类团购网呈井喷式增长,不仅餐饮.百货可以"团",酒店.机票.旅游都可以"团".但这个过程中存在的隐患也不在

C#中COM操作(二) 接口查询

上一篇末留下的一个疑问这一回来作个解答吧.大家看了下面的图就清楚了: 结论就是t1,t2,t3是三个不同的引用,也就是说在.NET里面代表了三种不同的类型,但是三种类型的GUID却是一样的,因为在COM里GUID代表了一个COM类,只要GUID是一样的那么就表示是一个COM类,因此仅从COM类这一角度出发的话,这三种类型就是同一个COM类型. 第1种方式创建的COM对象的.NET包装的类型一般来说就是COM导入的.NET包装程序集里面对应声明的类型. 第2种方式创建的COM对象的.NET包装的类

银监会建议对网上信用卡支付适度收费

中介交易 SEO诊断 淘宝客 云主机 技术大厅 本报讯 (记者 苏曼丽 实习生 陈芸) 3·15曝光的网上银行和网上支付的安全问题部分引起了监管层的注意.记者昨天从银行了解到,银监会在3月下旬已向各大银行下发了<关于"支付宝"业务的风险提示>,银监会"建议对网上信用卡支付业务实行适度收费制度","一旦网上支付业务出现重大风险隐患,各行应停止与'支付宝'等第三方支付机构之间的业务合作." 银监会此次发文共提出五大风险,分别包括第三方支付