Docker的“正反”面
Posted 英方云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker的“正反”面相关的知识,希望对你有一定的参考价值。
在2016年还没有进入四月份的时候,国内几家对标Docker的创业公司先后发布会了融资信息,随之而来则是又一波的Docker热,为什么要说“又”?因为上一波的Docker热还仅仅是几个月前。
其实,容器并不是一个新名词,相比于Docker来说,2005就发布了第一个版本的OpenVZ已经成功地应用在生产环境中,并且由于OpenVZ采用的是自行修改的Linux内核,其安全性甚至还要高于“隔离能力”较弱的Docker,不过和Docker不同,OpenVZ更加适合虚拟私有服务器,解决的是云基础设施提供者管理虚拟机的问题,主要应用在多租户的公有云环境。
不过,由于Docker在某些方面的优点较为显著,因此大热的Docker目前已经成为容器领域的代名词。
1
正面
比如,从技术角度看,传统容器只解决了容器执行(run)问题,而Docker定义了一套容器构建(build)、分发(ship)和执行(run)的标准化体系。上个月的英方渠道公开课上,云舒网络曾系统介绍了如何应用Docker等容器技术如何构建企业应用商店、轻松管理应用的一键部署和升级回滚等。
从生态的角度看,Docker过去一年之所以开始普及,除了Windows对于Docker的不断开放,使得Docker被进一步发扬光大外,云计算产业的迅速发展同样功不可没——Docker被作为虚拟化的补充甚至替代技术(你甚至可以认为Docker就是另外的一种虚拟化技术)而被人们所关注,传统虚拟化技术是对硬件资源的虚拟,容器技术则是对进程的虚拟,从而可提供更轻量级的虚拟化,实现进程和资源的隔离。
从架构角度来看,Docker比虚拟化少了两层,取消了hypervisor层和GuestOS层,使用Docker Engine(一个便携式、轻量级的运行环境和包管理器)进行调度和隔离,所有应用共用主机操作系统,因此在体量上,Docker较虚拟机更轻量级,在性能上优于虚拟化,接近裸机性能。
说完了“正面”,说说“反面”。
2
反面
首当其冲的就是安全性问题,Docker不能分辨具体执行指令的用户,只要一个用户拥有执行Docker的权限,那么他就可以对Docker的容器进行所有操作,不管该容器是否是由该用户创建。比如A和B都拥有执行Docker的权限,由于Docker的server端并不会具体判断Docker cline是由哪个用户发起的,A可以删除B创建的容器,存在一定的安全风险。
其次,国内对标Docker的企业都是基于开源的GO语言的开发,技术上的差异化并不明显。
再次,Docker对业务的高可用支持是通过快速重新部署实现的,关于数据本地的高可用、备份和远程容灾依然需要借助虚拟化的技术得以实现。以Docker容灾高可用的实践者英方股份为例,目前,英方通过对教育科研机构的OpenVZ系统中的虚拟机实时复制功能、恢复功能、数据完整性、数据一致性及异常处理等功能的支持,已经弥补了OpenVZ等容器技术在容灾高可用方面的不足。随着业务等进一步发展,更多容器技术环境下的灾备业务将得以实现。
[注]:文中Docker一词所指为“容器技术”,而非具体某一家企业。
以上是关于Docker的“正反”面的主要内容,如果未能解决你的问题,请参考以下文章
五面拿下阿里飞猪offer,ubuntu安装docker命令