8620-84511745

Blog Post

Docker到底是网红还是趋势?

用社区某一个用户的话说,现在不扯docker都不好意思跟人打招呼。俺也颇有类似的感觉。

技术人除了具有敬畏之心的素养之外,还有责任之心,受人之托忠人之事。

不冒进,人云亦云,不保守,敢于创新。尽量根据企业的业务发展实事求是跟进适合的技术和产品。

但实际上现实生活中,真的要做到这一点还是挺不容易的,各种东东的宣传扑面而来,防不胜防。让你无所适从,分不清自己到底是保守还是冒进:)

社区转载了一篇文章,前谷歌员工创业后写的,《Docker和容器云落地一年后的反思》,似乎也反映出了docker有些问题,这个声音在它正当红时显得那么突然。

不过我们社区的同学们的技术素养还是很高的。大家用集体的力量来看看Docker到底网红还是趋势呢?从几个方面我们来看看,看看Docker的生态情况,看看Docker这个产品本身的优劣势,看看大家各自的实际体验和观点。

某行业用户:
是趋势 ,Docker本来就是适合快速开发,快速迭代,快速更新的环境,但是不一定适合每一个公司;

比如O记家的 xxdata这个设备,大家都说好,我们用了,我觉得一般般,最好的就是加班在机房挺冷,选择去O记xxdata机柜后面呆着,你会觉得好暖和,xxdata机柜后面的网卡我之前加过万兆网卡,等你去拔的时候,能把手烫起泡, 可以煎鸡蛋的温度, 总之机房其他地方真冷的不行,加班去这个机柜旁边取暖是最美选择!

另一位好心的兄弟: 后面有金属粉尘,你看不见的喔。

搞运维的兄弟们不容易,注意身体。

0906风:支持趋势,因为我认为这是云平台管理的基础

华子:趋势,符合人性

森:趋势啊,现在什么最热,互联网行业;互联网行业什么最值钱,时间;docker的小快灵,硬件解藕,及可快速组合和迁移等的特性是传统架构和虚拟机不可比拟的

HC:不过总体来说,目前看还是趋势。至少从理念上来看,是对的。但是觉得,之前大家不理性,觉得什么都可以使用。它的优劣势很明显。

优势:

使用docker,就像集装箱带来的物流领域的「标准化」,不只是单纯影响集装箱这个范围本身,而是整个领域的运输器械,物流管理等整个领域的标准化和效率的提高。对于系统或服务具有如下优势:

  • 标准化应用的发布,docker容器包含了运行环境和可执行程序,可以跨平台和主机使用。

  • 节约时间,快速部署和启动,VM启动一般是分钟级,docker容器启动是秒级。

  • 方便构建基于SOA架构或微服务架构的系统,通过服务编排,更好的松耦合。

  • 节约成本,以前一个虚拟机至少需要几个G的磁盘空间,docker容器可以减少到MB级。

  • 方便持续集成,通过与代码进行关联使持续集成非常方便。

  • 可以作为集群系统的轻量主机或节点,在IaaS平台上,已经出现了CaaS,通过容器替代原来的主机。
劣势:

目前来看docker也具有一些有待完善的地方:

  • 虽然docker透过了映像方面的设计,解决传统维运团队在部署上的问题,但是在将系统服务docker化,应用程序docker化时,使用者仍然会面临业务实际的问题。

  • 并不是所有的应用程式都适合docker化。像是MySQL,Hadoop这些应用Docker化都存在一些弊端。

  • docker在安全性目前是不足,需要其他手段一起来解决这个问题。

  • docker增加了一个复杂的入侵层,这使得开发,故障排查以及调试变得非常困难,有时会出现制造的问题比解决的问题还多,因为仍然需要使用的快照来达到自动扩展的目的。情况更坏时,如果不使用快照的话,生产环境的扩展需要依赖于docker hub的稳定性。

CL:Docker现在越来越火了,现在你要是技术圈创业不带上Docker都不好意思跟人打招呼,办技术圈大会要是不组织几个Docker的议题人家会说你外行。但当我们冷静下来后,必须要仔细思考一些Docker为我们带来了什么,我们为什么要关注和使用Docker。

首先,Docker并不是轻量级容器,它由管理轻量级容器的引擎、客户端和AUFS文件系统三部分组成。当然这里面最核心的还是轻量级容器的引擎。2007年,在Linux 2.6.4之后,cgroup正式纳入了Linux内核,cgroup赋予了一个进程或者进程组甚至一个资源可以拥有资源隔离的能力,这里面包括CPU、内存、IO、网络等等,在2008年,LXC 0.10就出现了,它可以说是一个隔离的升级换代产品,不仅仅拥有资源隔离,更重要的是拥有独立的namespace,这也可以看做是轻量级容器技术的开始。

2013年,Docker version 0.10发布,Docker是PaaS提供商dotCloud(最近已经正式改名为Docker Inc.)开源的一个基于LXC的高级容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache 2.0协议开源。Docker的出现极大简化了容器的创建和管理,分层式的AUFS实现了Docker镜像。

一开始,Docker被认为是PaaS的天然技术承载器,但随着社区的发展,Docker不仅仅被用在云计算PaaS平台上,而是应用在开发、运维等很多领域,比如企业内的无状态服务集群,运维管理,配置管理,业务隔离,甚至未来还有望代替虚拟机提供一个轻量级的开发环境。Docker的优势也不仅仅局限于轻量级虚拟机,完善的社区,还包括Image Repository、分布式计算框架,甚至大数据分析的底层平台。那么,我们不禁要问,Docker最大的魅力是什么呢?其实并不在于资源隔离,因为在Docker出现之前,这些即已经解决了,Docker的最大魅力还在于他通过aufs等理念将程序的运行环境整体打包,这样可以方便的进行配置和部署,做到整个环境的统一化和可移植化。

所以,当我们使用Docker时,一定要清晰的了解Docker可以做哪些,不能够做哪些,这样才能把Docker真正用好。

一位太保用户:实践过基于Docker微信项目的践行,来谈谈切身体会

Docker作为近期备受关注的技术,在国内已逐步从观望、试验走向生产交付。随着一个个基于容器的案例成功落地交付,Docker在近期的风头一时无两,“网红还是趋势”这个疑问也就随之抛给了Docker。企业发展过程中对IT成本的核算要求的不断提升,以及传统应用的互联网化,使得传统企业在IT运营方面面临众多的挑战。通过Docker在微信等项目落地推广中的探索,让我们对Docker的各项技术有了更为切实的了解与思考,一些困扰我们的问题,如:提升硬件资源利用率、应用快速交付、弹性伸缩、灰度发布、故障自愈等都借助Docker得以解决或找到了可行的解决方案。而随着Swarm的成熟、对SDS的实现,为未来Docker的应用领域提供了更为广阔的想象空间。从目前的发展态势来看,Docker是网红更是趋势。

Posted in docker on Aug 04, 2016