自从2013年Docker正式问世,两年来,获得了全球无数应用者的好评。但是从2013年到2015年,两年多的时间,却也少有公司将这项技术落到生产。俗话说:理想是丰满的,现实是骨感的;大抵就是这个意思吧。
原因为何?
实际上,Docker能够多维度帮助使用者:
如果您是一名运维人员:能够降低运维成本。正如通过虚拟机来整合多个应用,Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本。Docker通过镜像机制,将你的代码和运行环境直接打包成镜像,扔到容器启动即可。
如果您是一名开发人员:Docker可以实现快速开发、交付应用程序。另外由于Docker对于操作系统没有要求,所以可以将应用程序快速打包转移。
对于企业而言:Docker可以提供Paas层的实现;比如,扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
曾经有一段真挚的Docker摆在面前,大家却都不珍惜?
那么,既然Docker这么好用,我们就来扒一扒为什么:曾经有一段真挚的"爱情"摆在面前,大家却都不珍惜?
第一、学习资料稀缺
学习资料主要是指:书和人。从当当网上搜索关键词Docker,会发现中文版的Docker相关中文图书不过四本,其他均为重复信息,平均价格在40-50元左右,出版时间最早的也是2014年12月。所以,如果你习惯使用网络资源或者看电子书,只能劝告你别做梦了。
再说说人,其实从"书"的表现就能看出,Docker方面的专家还是很少的。我们可以举一个反例,同样的在当当网搜索框中搜索虚拟化为关键词,会出现9页,相应的,可以看出熟悉虚拟化的人数也比Docker多。
第二、学习周期
作家格拉德威尔在《异类》一书中指出:"人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。"
如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。由此而产生了"一万小时定律"理论。虽然这个10000不是确数,但是也证明了从Docker出生到现在,还没能满足人们的学习周期。
第三、个体带动群体,如何推广
目前,学习Docker多是运维,开发者,而这些人也都是专业技术人员,通常与行政无关,也没有相应的推广手段。让这样小一批技术人员,去带动整个群体是需要时间的,对于一个陌生的领域,很多时候陌生就意味着危险,又有多少人愿意做第一个吃螃蟹的人?
即便解决了上述问题,从技术的角度,Docker有千般好处,漂亮地吸引了开发者,尤其是在开发、测试以及CI环境下,但是它也一定程度的破坏了生产。Shopify的Docker部署专家Simon Horup Eskildsen甚至说:对于当今许多产品的用户而言,使用Docker却是弊大于利的。