写点什么

如何在生产中成功运用 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:004222

评论

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

Nginx的高可用

java易二三

编程 程序员 计算机

代码随想录Day30 - 回溯(六)

jjn0703

MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)

汀丶人工智能

人工智能 自然语言处理 LoRa llama LLM模型

JVM 调优神器 arthas

java易二三

编程 计算机 Arthas

在 Amazon EMR 上构建实时数据湖

亚马逊云科技 (Amazon Web Services)

Amazon EMR

一个写了3年半flutter的小伙,突然写了2个月uniapp的感悟!

编程的平行世界

uni-app Vue 前端 Flutter Android Apk

C++中互斥锁的使用

芯动大师

Dify.AI 用户直面会:Dify 产品规划与 LLM 应用落地常见问题

Dify

开源 AI开发软件 LLMOps

JVM类加载器子系统ClassLoader

java易二三

编程 程序员 计算机

Java Stream 源码分析

java易二三

Java 编程 计算机

彻底学透分布式事务看这篇笔记就够了!

小小怪下士

Java 程序员 分布式 分布式事务

致敬图灵!HashData拥抱数据智能新时代!

酷克数据HashData

使用Keepalived实现Nginx的自动重启及双主热备高可用

java易二三

编程 程序员 计算机

项目管理中的代码评审:一种有效的实施策略和常见问题解析

乐思项目管理

代码评审 #项目管理

代码随想录Day32 - 贪心算法(二)

jjn0703

2023-07-29:给你一个由数字组成的字符串 s,返回 s 中独特子字符串数量。 其中的每一个数字出现的频率都相同。

福大大架构师每日一题

福大大架构师每日一题

想学Python高级编程?必须了解这个小技巧:match-case!

程序员晚枫

Python

项目管理中的测试:确保项目成功的关键环节

乐思项目管理

项目管理 软件测试

死磕Java八股成功拿下Offer,结果背调没过...

程序员小毕

程序员 面试 高并发 架构师 java面试

代码随想录Day29 - 回溯(五)

jjn0703

代码随想录Day31 - 贪心算法(一)

jjn0703

Dify.AI 接入 Claude2 模型:支持 100K token 上下文,登录即免费获得 1000 次消息额度

Dify

开源 更新 LLMOps

如何在几分钟内创建一个带有业务数据的官网 AI 智能客服?

Dify

开源 AI开发 LLMOps

项目管理的成功秘诀:架构评审的力量

乐思项目管理

架构评审 #项目管理

使用APP源码搭建直播网站难不难

山东布谷网络科技

APP开发 直播APP源码

慎思笃行,兴业致远:金融行业的数据之道

脑极体

金融数据

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