Docker Workflow系列文章综述


出生两年的Docker已经红遍全球,与Docker相关的文章也是层出不穷,真正是方兴未艾,前景一片大好。

在我们了解Docker的功能和特性时,通常都是手工构建、测试和部署一两个镜像。但要将Docker部署到生产环境中,如果还使用手工的方式,那运维本身将是一场灾难。

因此,对大多数刚接触Docker的人员与组织而言,要将Docker应用于生产环境中,需要拷问自己几个问题:
  1. Docker适合用于迁移现存应用与服务么?
  2. 在项目中使用Docker,现有工作流需要做什么样的改变?
  3. 市面上Docker相关的工具非常多,如何挑选最合适的来使用?
  4. 做出这样的改变值得么?


很显然,对于上述问题,没有实践就没有发言权。墨西哥IIIEPE研究院的Luis Elizondo为我们带来的这个系列文章,分享了他们在实践Docker过程中方方面面的经验与教训。

正所谓“工欲善其事,必先利其器”,作者在引入Docker时,花费了不少时间对新的工作流和镜像结构规范进行规划与设计,这对项目的成功起到了决定性作用。新制定的工作流将Docker、Jenkins和Maestro-NG等工具结合在一起,完成构建、测试、部署自动化。通过这样的流程改造,实现持续集成和持续交付,不仅提高了部署效率,同时大大降低了维护成本和手工失误。

另外,使用Docker的一些特性,可以非常简单的解决一些平时很棘手的问题。文章中以Drupal为例,讲述了如何使用GlusterFS和数据卷,结合目录结构规范将Drupal的files目录分离出应用层。同时在不同阶段可使用不同的方式将该目录绑定到运行环境中,保持开发环境与生产环境的一致性。

引入适当的编排工具和服务发现等将进一步降低运维难度与成本,作者也在文章中给出了市面上常见的这种软件,并分享了他们的测试结果和最终选择的原因。

当然,迁移的过程也不是那么一帆风顺。有些方案或产品看上去很美好,但现存的技术框架可能与其不兼容,作者也只能忍痛割爱。所以,我们在技术选型与评估时还是需要具体问题具体分析,根据自身实际需求做出合适的决定。

本系列文章共计4篇,索引如下,建议依顺序阅读:
  1. Docker Workflow(一):一个可用于生产环境的Docker工作流
  2. Docker Workflow(二):存储问题
  3. Docker Workflow(三):编排工具
  4. Docker Workflow(四):服务发现与负载均衡


有任何问题或建议,欢迎大家留言讨论。

1 个评论

强烈推荐这个系列。
不过更期待docker swarm、docker machine的发展。

要回复文章请先登录注册