作为Docker社区的核心成员,同时也是IBM开源,云计算专家Doug Davis一直致力于领导IBM团队为Docker项目作出开源贡献,还代表公司参与了Linux基金会新设立的OCI和CNCF项目。在IBM Linux on Power生态联盟开发者大会召开前夕,Doug Davis接受了CSDN记者的专访。在专访中,他为我们介绍了Docker社区目前的情况,以及Docker和Linux on Power的结合会给开发者带来哪些好处,最后他还为Docker社区贡献代码的开发者给出了建议。
以下是采访实录:
CSDN:首先介绍下自己,您是什么时候开始关注 Docker 的?
Doug Davis:我是 Doug Davis,在 IBM 云计算部门从事多年的技术支持,主要是开源与标准方面的事务。我一直为一些组织比如:W3C、OASIS 和 Apache 开展开源与标准方面的工作,至今已经有15年的历史了。大概一年前,我开始着手研究 Docker,是 IBM 首批选出的该项目维护人员。从那以后,我一直领导 IBM 相关团队为 Docker 项目作出开源贡献,还代表公司参与了 Linux 基金会新设立的 OCI 和 CNCF 项目。
CSDN:Docker 最吸引您的地方有哪些?
Doug Davis:易用性。容器已经存在很长一段时间了,但直到 Docker 问世,容器才真正变得容易被普通人获取。Docker 社区花了很多时间,确保其易安装、易使用。一条命令即可完成安装,一个命令即可实现“hello world”示例。也正是这种易用性,将其整合进我现有的持续集成管线中是一件轻而易举的事性,并很容易与其它 Linux 标准命令相匹配。
CSDN:目前的 Docker 社区情况如何,能和大家详细谈谈吗?
Doug Davis:Docker 社区是我所参与的开源社会中比较开放并热情的开源社区。在很多项目中,除非你是资深开发人员,否则你所提议的更改或问题很难得到理会。而在 Docker,他们专门提携新人,解决社区提出的问题与建议。和一开始由一家公司控制的很多开源项目一样,外界也会对此产生一定程度的担心,但是 Docker 将更多的工作开放给新设立的 OCI 和 CNCF 基金会,我认为这种更开放的管理模式会减轻一部分担心。
CSDN:您认为Docker的核心到底是什么?
Doug Davis:容器管理使得事半功倍。Docker 的核心就是要让用户花最少的力气创建、管理容器。另外,他们还注重性能,因此能更好的利用托管环境中的资源,允许运行更多容器,并迅速启动。
CSDN:您认为企业在使用Docker过程中,最大的困难是什么?
Doug Davis:可能更多是对安全的担心。同任何新技术一样,都会存在不确定性,导致人们担心不安全——直到其安全性得到证明。因此,Docker 存在一些安全问题,这些问题也正在得到解决,不过真正的挑战是要让人们从安全角度顺理成章地接受这种技术。
CSDN:从您的角度出发,认为Docker目前最需要解决的挑战有哪些?有好的解决办法吗?
Doug Davis:首先一点就是我刚才提到的安全问题,不过社区正在解决。有些工作应该很快就会完成,到时会对此有所帮助。其次,也是我刚才提到过的,就是管理模式。今天,Docker 很大程度上还是由一家公司控制,希望随着二手域名拍卖平台时间推移,更多 Docker 特性加入新项目/基金会,未来会看到社区在决定 Docker 事务方面起到更大作用。
CSDN:谈谈您在这次IBM大会上分享的主题吧?
Doug Davis:我所讲的主题有关于 Docker 历史、Docker 为何如此特别、为何如此受欢迎、在将 Docker 带到 Power 平台过程中我们做了哪些工作。
CSDN:您觉得Docker和Linux on Power的结合,会给开发者带来哪些好处?
Doug Davis:首先,需要说明的是,从用户交互角度讲,Docker 在 Power 平台和在其它任何平台运行没有分别。客户应该能够利用现有工具使用 Docker,而无需因为平台特殊而要作出改变。其次,从性能方面来讲,这也意味着使用 Docker on Power 的优势。IBM 为优化 Docker on Power 做了大量工作,容量增加(更多容器/主机),提升速度/性能,因为有了比其它平台更多的存储带宽及更大缓存。
CSDN:对于IBM Linux on Power生态联盟的成立,您觉得会给开源社区和开源技术带来哪些改变?
Doug Davis:我认为一旦 OCI 和 CNCF 项目真正开始树立起自身地位,未来会看到更开放的管理模式。这也使得项目更安全、可具有长期稳定性,因为这不再仅仅是一家公司的计划或成功。
CSDN: 在为Docker社区贡献代码等方面,您有什么经验分享给大家?
Doug Davis:一年前我开始为社区贡献代码。IBM 在加入开源项目时不会大张旗鼓。按照IBM的规模,它加入某一项目的想法会吓到一些人—— 如果我们一大群人猛然出现在一个项目中,并提出大量建议,很可能不会受到积极对待。相反,我们希望默默地加入,解决积压的未决问题。查看社区其他人的痛点。基本上是显示我们而不是IBM在为社区服务。随着时间推移,我们肯定会按 IBM 的需要对代码更改作出提议,因为我们会在产品方案中整合代码,不过在此之前,我们会学习社区如何运转、喜好/反感什么、采用某些特性的指导、最重要的是我们成为整个团队中的一分子,赢得他们的信任。以 Docker 为例,社区对我们持欢迎态度,我们目前有两名核心贡献者及一个开发小组,专门从事 Docker 方面的工作。
CSDN:给希望从事开源学习以及Docker开发的工程师们一些建议吧?
Doug Davis:正如我在之前问题中提到的一样,从小做起。先从简单问题入手。文件更改是了解一个项目、为社区作贡献的好办法,因为这将使新人更容易入门。然后看一下社区积压的问题。帮助他们解决这些问题,这样社区才有时间精力开发新特性、修正错误,使社区成员开心。最后,当你确实想要建议新特性时,寻求以增循序渐进的方式进行。小的变化更容易得到接受。