传统观点认为,容器技术的快速发展正改变着从应用程序部署到精简版Linux设计的一切。那么容器技术是否能够解决Linux软件包管理工具长期存在的问题进而取代它呢? InfoWorld高级编辑 Serdar Yegulalp 对此进行了 分析报道 。
CoreOS就完全 以容器为中心 ,而不是软件包。Kelsey Hightower是CoreOS的一名高级工程师。他告诉Serdar,他们公司的产品“就是一个活生生的例子,这不仅可能,而且还可以提升系统设计。”同时,他认为,软件包管理工具仍然有用,主要是“从一组离散的组件构建操作系统。这是Linux软件包管理器的亮点”。CoreOS本身并没有使用传统的软件包管理器,如apt或yum,而是Portage系统。因此,他觉得:
使用Docker或其它容器管理器完全取代一个系统的通用软件包管理器非常困难,部分原因在于Docker没有一种依赖解析机制。而Docker的亮点在于应用程序打包和分发。
Red Hat 对容器技术也越来越重视 。Lars Herrmann是Red Hat Enterprise Linux部门的总经理。他认为可以用容器取代软件包管理工具,但“这不是最好的做法”。除了依赖管理,软件包管理工具还提供了一些在以容器为中心的环境里使用着的特性,比如指定软件在系统中的安装位置。而且,Docker并没有一种机制可以将合适的组件装入容器,但现有的软件包管理工具可以很好地完成这项工作。
Joyent是另外一家 深入容器世界 的公司。Bryant Cantrill是该公司的首席技术官。他同样认为,容器和软件包管理工具提供了不同的功能,“Docker镜像是一个比apt或yum软件包管理器更高层次的抽象。”
综上所述,Serdar认为,容器技术可以解决Linux软件包管理工具的弊病,但它只能算是半个解决方案。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流。