发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

如何在生产中成功运用 Docker

  • 2015-12-03
  • 本文字数:1096 字

    阅读完需:约 4 分钟

SalesforceIQ(原名 RelateIQ)的工程总监 John Fiedler 结合自己过去两年的开发经验,在 DockerCon 欧洲大会上发表了关于“如何成功地在生产中运用 Docker”的演讲。Fiedler 建议不要一开始就全面使用 Docker 相关的所有工具,而应该循序渐进地将服务转移到相应容器中。

Fiedler 解释说,目前他们全部的网络基础服务都是在 Docker 中运行的,并且从来没有出现过停机的情况。同时,他坦言道,他们从两年前开始向 Docker 容器迁移,做过很多尝试,也失败过很多次。

最后,我们开始运用 Mesos,但当时它还没有认证……我们还尝试在 Docker 中运行 Kafka,如果 Kafka 失败了,那么我们的全部服务都将停机……其实在 Docker 中运行 Docker 并不是一个好的决定。

SalesforceIQ 超过 70% 的基础服务是在 Docker 中运行的。在决定哪些服务应该放在容器中,哪些不应该时,Fiedler 认为应该注意以下两个要点:变化率和依赖关系。相对而言,Web 服务器或 API 服务器的寿命都是短暂的(转化率)、无国界的(依赖关系),数据库或 CI/CD 服务器则寿命较长,并且是有国界的。因此,Web 服务器和 API 服务器都适合迁移到容器中。

重要通知:接下来 InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注 InfoQ 微信公众号第一时间阅读精品内容。

图片来源:John Fiedler

图片来源:John Fiedler

现在,在某种程度上,SalesforceIQ 的 PaaS 服务中除永久存储外,几乎所有的服务都是运行在容器中的。

图片来源:John Fiedler

演讲刚开始,Fiedler 就根据自己的理解分析了“生产”与“成功”的内涵:

“生产环境与开发 / 测试环境并不相同。生产环境中的一些特性在测试环境与开发环境中并不重要。隔离性、安全性、高效性、可监测性和可记录性是在迁移生产环境时考虑的重要因素;同时,可扩展、有模板借鉴和自动化水平也是需要考虑的重要方面……我认为,任何事情超过 99.9% 就是成功的。”

总结这次演讲,Fiedler 建议“保持简洁,从小做起,不要急于跃进 PaaS。”谈到对工具的部署,他认为“Chef,Ansible 和 SaltStack 仍然是重要的工具,并且可用于连接 Docker。”当 Docker 做好生产准备时,Fiedler 强调 “要使用其他未就绪的解决方案(alpha 和 beta)。”最后,他补充道,“使用 Docker,最大的回报就是 CI/CD。”

查看英文原文: How to be Successful Running Docker in Production


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-12-03 18:003747

评论

发布
暂无评论
发现更多内容

Android ShapeableImageView使用详解,告别shape、三方库

android 程序员 移动开发

Android Socket使用详解,android开发入门与实战作者

android 程序员 移动开发

Android 屏幕适配从未如斯简单(已废弃该使用方式),Android开发经验的有效总结

android 程序员 移动开发

Android SDK 开发应该注意哪些?,阿里+头条+腾讯大厂Android笔试真题

android 程序员 移动开发

Android ShapeableImageView使用详解,告别shape、三方库(1)

android 程序员 移动开发

Android Sqlite数据库升级时注意事项,android移动开发基础题库

android 程序员 移动开发

Android S新特性介绍-近似定位,快速学会

android 程序员 移动开发

Android Tangram模型:手把手带你学习淘宝、天猫都在用的UI框架模型

android 程序员 移动开发

Android 中图片压缩分析(上),android绘制流程

android 程序员 移动开发

Android 大厂面试 指南:他们到底需要怎样的工程师?(1)

android 程序员 移动开发

Android O 适配详细指南,Android开发三年月薪才12K

android 程序员 移动开发

Android P 应用兼容常见错误及建议,大牛教你怎么学习Android多进程

android 程序员 移动开发

Android View的绘制流程,35岁技术人如何转型做管理

android 程序员 移动开发

Android 子线程更新UI了解吗?,看这一篇就够了

android 程序员 移动开发

Android mvvm 之 LiveData 的原理,2021年Android高级面试题

android 程序员 移动开发

Android Retrofit 2,今天带你详细了解各组件原理

android 程序员 移动开发

Android 基础掌握好,面试基本不会倒!,android计算器源码

android 程序员 移动开发

Android 大厂面试 指南:他们到底需要怎样的工程师?,Android码农是如何进入腾讯的

android 程序员 移动开发

Android UI—仿微信底部导航栏布局,android应用程序开发

android 程序员 移动开发

Android 原生项目集成 Flutter,零基础android

android 程序员 移动开发

Android Virtualview:淘宝、天猫 又一个动态化,android界面开发基础

android 程序员 移动开发

Android WebView判定网页加载的错误,androidkotlin面试题

android 程序员 移动开发

Android 保活措施,retrofit原理

android 程序员 移动开发

Android Matrix矩阵,跨平台移动开发ui

android 程序员 移动开发

Android MediaPlayer音频播放器详解,字节跳动高工面试

android 程序员 移动开发

Android Studio 4(1),android面试必看书籍

android 程序员 移动开发

Android View的事件分流源码,安卓内存优化管理器

android 程序员 移动开发

Android JVM面试专题:阿里100%会问到的c,Android开发工程师面试题

android 程序员 移动开发

Android NDK开发,使用ndk-build编译,androidkotlin教程

android 程序员 移动开发

Android ShapeableImageView使用详解,告别shape、三方库(2)

android 程序员 移动开发

Android Studio 3,今年Android面试必问的这些技术面

android 程序员 移动开发

如何在生产中成功运用Docker_DevOps & 平台工程_Guillermo Beltri_InfoQ精选文章