专栏首页CSDN技术头条The Texas Tribune的Docker之旅

The Texas Tribune的Docker之旅

本文是The Texas Tribune使用Docker的实战经验总结,概述了他们选择Docker的原因、问题和注意点,值得一看。

以下为原文:

我们The Texas Tribune是Docker的粉丝。在Doker 1.0版本发布之前我们就开始关注它了,自去年6月份Doker发布第一版production-ready代码时就已经将其纳入我们的基础架构中。目前,Docker 已经成为我们平台的主要基础。

我们是一个小型非盈利的新闻机构,主要报道国家层面的政治与政策,以及有一个主新闻网站(www.texastribune.org)、一个评论网站(tribtalk.org)和其他几个网站。这些网站均由非常能干的新闻应用程序开发团队来开发维护,开发环境主要是调试遗留应用程序或静态网站和频繁地开发新的应用。主网站是基于Django语言(同时也使用Ruby语言),节点和彼此间存在大量的依赖关系。

如何在所有的软件安装中实现正确的版本,且保持一致和可重复性呢?那就需要依靠Docker。对于一个新开发者,如果你按照README的详细说明来安装项目工程,你将会耗费几个小时甚至于几天。使用Docker,你将在几分钟内搞定。

我们最初使用Docker,仅仅是把它作为一个很不错的独立开发环境,认为它是steroids上的版本管理工具(想想 virtualenv或者rvm)。

逐渐地,我们开始在很多方面结合使用Docker。利用Jenkins作为持续集成工具;如数据库的备份与更新、Django 维护等具体的操作任务时使用的是Rundeck。对于Rundeck和Jenkins,主机运行不同的项目需要做大量的不同类型工作,而且每个项目都有不同的要求和相关的软件。以前,我们在不同项目上不得不安装对应的软件,并希望它们之间不存在任何冲突。但这是一个不现实的希望,不同软件总是存在冲突。现在,利用Doker,所有的事情互相独立,在Jenkins或者Rundeck的主机上没有任何需要特别安装的软件。每一项任务作为一个独立的Docker容器运行。这些主机可以用来做一件事(并把它做好):运行我们的CI 和我们的业务。

自从这项服务提供以来 ,Doker Hub就是工作流程的一部分。我们使用其自动生成功能。这意味着,只要一个新commit 提交到GitHub,Docker Hub 就开始构建images。在己建立的框架上不需要的当前Git 库的副本,Rundeck 和Jenkins将会获得这些images。Docker Hub也连接到parent images,当parent images更新时,child images也随之更新。这一切的完成过程中我们没有任何干预。目前,我们公布了所有关于Hub的Doker开源项目,以便他人查找,使用和延伸我们的工作。(28个项目)

我们召开了一系列关于Docker的研讨会,目的是让平台和新闻应用程序开发团队熟悉它,并在自己项目中来使用Docker,甚至演讲报告都是通过Docker来完成的。

在辅助服务中也开始使用Docker。有一个Docker image,它是用来完成邮件的分发的。插上您的 Mandrill key就可以了,不再需要建立艰巨的后缀任务、Sendmail或其他的事情。简单地启动container和与它连接的其他container或者主机就可以实现即时邮件分发功能,而且几乎不存在任何问题。对于Jenkins,配置邮件的传递分发曾是一个痛点,但现在不再是了。

另一个 image,它可以作为一个OAuth2的代理。可以将它链接到其他 container和bam!——即时身份验证。Doker也可以运行高性能的应用程序,像视频聚合和流媒体服务。还有一个image可以提供Elasticsearch(基于Lucene的搜索服务器)的功能。对于实现Elasticsearch功能而言,运行在container里应用程序将会比运行安装在java上应用程序容易很多。

我们备受欢迎的Government Salaries Explorer和Texas Legislative Guide两者均在Docker上运行。这意味着我们新闻应用开发团队可以部署和维护这些应用程序,而不用担心Amazon Web服务器复杂的自动释放和弹性负载均衡。

利用Docker我们可以容器化任何新开发或者很大改动的应用程序,并加以运行。

目前,主网站还不是建立在Docker上,但我们正在朝着这个方向努力。这可能会有点困难,因为存在很多需要移动的部件。作为我们运行时间最长的服务网站,对它而言,变化是更难、更高风险的。我们同样期待去了解两个方面的问题,一是如何进行快速转变;二是提供编排、部署和管理的服务竞争格局将如何发展。同时也密切关注着Amazon’s Elastic Container Service(和使用它的产品,像Empire和Convox)以及Kubernetes、Tutum和Rancher。

Docker早已在我们公司普及,并在节省时间和方便使用上提供了实实在在的好处。我们期待在更多的地方使用它!

原文链接:THE TEXAS TRIBUNE: OUR DOCKER JOURNEY(译者/刘崇鑫 审校/朱正贵、李子健 责编/仲浩)

译者简介:刘崇鑫,北京邮电大学研究生在读,专业光通信工程。

本文分享自微信公众号 - CSDN技术头条(CSDN_Tech)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Seek和Everydayhero如何在实际生产中应用Docker

    Docker在澳大利亚推广容器应用技术异军突起,它的努力没有白费,随着公司包括Seek和Everydayhero也加入了本地化采用。 在最近由iTnews举办的...

    CSDN技术头条
  • 容器 10 年,Docker 6 年

    自 2013 年起,随着 Docker 的正式面世,容器技术迅速成为了基础技术领域中的热门。而在近两三年中,随着容器编排领域的混战结束,Kubernetes 已...

    CSDN技术头条
  • 国际舞台上大家如何谈Docker?DockerCon十大看点

    在去年的DockerCon 2014大会上,来自Google、IBM、RedHat、Rackspace等公司的核心人物均发表了主题演讲,在那次大会上,我们也看到...

    CSDN技术头条
  • 使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能

    在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。

    LinuxSuRen
  • IDEA的Docker插件实战(Docker Image篇)

    本文是《IDEA的Docker插件实战》系列的第二篇,IDEA的Docker插件一共有三种:Dockerfile、Docker Image、Docker-com...

    程序员欣宸
  • 简单介绍Docker的架构特性与局限

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是...

    云计算爱好者
  • 腾讯云上 Docker 的安装方式

    Docker 是一种容器技术,它可以将应用和环境等进行打包,形成一个独立的,类似于 iOS 的 APP 形式的「应用」,这个应用可以直接被分发到任意一个支持 D...

    崔庆才
  • 为什么Github上找不到Docker的源码

    Docker最初是dotCloud公司Solomon Hykes在法国期间发起的一个公司内部项目。2013.3月以 Apache 2.0协议开源。

    运维部落
  • 国际舞台上大家如何谈Docker?DockerCon十大看点

    在去年的DockerCon 2014大会上,来自Google、IBM、RedHat、Rackspace等公司的核心人物均发表了主题演讲,在那次大会上,我们也看到...

    CSDN技术头条
  • Seek和Everydayhero如何在实际生产中应用Docker

    Docker在澳大利亚推广容器应用技术异军突起,它的努力没有白费,随着公司包括Seek和Everydayhero也加入了本地化采用。 在最近由iTnews举办的...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券