Docker 精选|本周为大家带来一篇对 Docker 船长 Neependra Khare 的经典访谈。Neependra Khare 是 CloudYuga 科技有限公司的创始人,他是全球最活跃的 Docker 小组之一——Docker 班加罗尔小组的组织者。
Writer | Jagmeet Singh
对于软件应用的发展而言,容器已经变得至关重要。尽管在如今的市面上,可供使用的容器技术并不在少数,但论起普及率和受欢迎程度,Docker 是当之无愧的佼佼者。
Docker 船长 Neependra Khare 在一次与 Jagmeet Singh 的访谈中强调了开源容器的巨大市场需求。他还提到了印度在 Docker 社区成长过程中所扮演的重要角色。以下是一部分访谈摘要。
Jagmeet Singh:Docker 是如何让开源软件开发变得容易的呢?
Neependra Khare:我们运用容器技术,把应用封装起来,内部置有应用的全部依赖项,这样应用就可以在不同的环境下——比如桌面,比如虚拟机,又或是云平台——独立自主地运行。我们只需要把 Docker 这类容器运行时安装在主机系统上就行了。
容器问世早就有一段时间了,不过 Docker 及其附属工具让容器变得更加普及。Docker 率先掀起了一场革命,其他工具也紧密跟随,结果使得 Docker 周边的生态系统发展得生机勃勃。如今,容器已然成为开发和部署的基础单位。容器运行的地方,会生成一个单一的镜像,贯穿于软件生命周期中的不同阶段。由于每个人——从开发者到运维工程师——都在同一镜像上工作,我们就能保证运行的稳定,不会收到 “它在我的环境下无法工作” 之类的抱怨。
Docker 有一套 Registry 的概念,和 GitHub 颇有相似之处。这一功能允许我们分享镜像。一个人可以在 Registry 上分享预先构建的镜像,而其他人则可以只用一道命令就调用这一镜像。对于每一个 Docker 使用者,尤其是开发人员,这个功能实在是太有用了。
Jagmeet Singh:所以 Docker 已经在容器的世界里引领一场大革命了,它是如何成为开发者手上至关重要的工具的呢?
Neependra Khare:Docker 是开发者们的大福音。它能帮助开发人员把脑中的想法快速成形。开发者使用 Docker Registry,可以轻松简单地分享他们的应用镜像。有了 Docker Compose 这样的工具,一个多层级应用可以轻易地定义和部署,这样就能为终端用户屏蔽所有的低等级细节。开发者可以在同一台机器上,不受任何干扰地同时运行软件的不同版本。如此一来,他们就可以更快速地修正 bug 了。Docker 和其他相关工具还允许开发者在计算系统上拥有一个酷似最终产品的环境,以便他们更好地熟悉环境,减少部署过程中可能遇到的麻烦。
Jagmeet Singh:印度的 Docker 社区是怎么样的呢?
Neependra Khare:在印度,我们有大约 15 个 Docker 小组,会定期碰头组织活动。聚会能帮助参与者分享各自在不同领域的知识,并且可以组织他们培训和进行编程马拉松。Docker 班加罗尔小组是全世界最活跃、最有生气的 Docker 小组之一。
尽管在印度范围内,我们已经有了庞大的用户基础,但目前我们还没有足够的项目贡献者。我们希望能看到更多印度用户为 Docker 项目做出贡献。
Jagmeet Singh:为什么用户要选择加入 Docker 社区?
Neependra Khare:首先,Docker 社区是一个学习 Docker,了解其周边生态系统的绝佳场所。容器正在逐步成为开展研发和部署的默认标准,迟早有一天,它会变成学习者无法绕开的一个环节。越早接触,越早使用,绝对可以帮助个人开发者获得专业性的培训和成长。同时,成为 Docker 社区的一员,也可以让你学习得乐在其中。
Jagmeet Singh:除了 Dorker 船长的身份之外,你还进行了一系列的风险投资。这将会给开源业界带来什么?
Neependra Khare:在组织了好几次 Docker meetup ,并在去年出版了一本有关 Docker 的著作后,我意识到,Docker 才是我的归宿,我们将给应用的开发和部署方式带来一场模式的改变。这场变革需要大量能理解容器技术的人才,它也必将帮助各个企业完成 IT 转型。
这个念头在我心中挥之不去,所以我在 2015 年 12 月辞去了红帽公司的全职工作,开始干起培训业务。我在班加罗尔、浦那、金奈、海得拉巴和加尔各答组织了一日免费工作坊,当然也做了一些收费的工作坊。
在 2016 年 6 月,我正式入职目前的公司 CloudYuga 科技有限公司(CloudYuga.guru)。我们针对容器技术、GO 编程语言和 Linux 系统提供培训和咨询。以公司的名义,我们还组织了一个名叫 “CloudYuga Garage” 的集会小组,在小组内开展各项社区活动,比如观看不同的技术大会录像,组织编程马拉松等等。
Jagmeet Singh:你最近和别人在 Linux Foundation 和 edX 上合办了一场关于云架构技术的网络课程,到目前为止反响怎么样?
Neependra Khare:到目前为止,反响极为热烈——有来自超过 125 个国家的 22000 多名观众注册了这门课程。这门课程对不同的云架构技术做了概览式的讲解,包括 laaS、PaaS、容器、容器编排、DevOps、连续整合和连续部署等等,还讲解了这些技术之间是如何彼此关联的。
Jagmeet Singh:你是否认为,掌握云技术,对于每一个开发人员、系统管理员和新兴的 DevOps 专业人士,都是至关重要的?
Neependra Khare:没错,是的。对云技术的基本了解是每个人的必备素质。如今,我们使用应用软件打的、预约医生和学习在线课程,这些都得益于某一些云技术才能够普及开来。有了按需收费式和随收随付式的云技术,公司可以用更快的速度,更低的成本来解决用户的需求。而且作为一名开发者,或者一名 QA 审核人员,抑或系统管理团队人员,你都必须了解最新的云技术,以便给出有效的解决方案。
在当今的 DevOps 文化下,由开发者、QA 人员和操作管理员组成的小团队都是一起工作的,他们也需要有基本的认知,了解团队里的其他同伴是如何使用云的,并且知道他们的痛点是什么。