【ArchSummit架构师峰会】基于大模型的基础框架、中台、应用层等专题全覆盖 >>> 了解详情
写点什么

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

评论

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

8086汇编基础 debug E命令 改变指定地址的数据,可同时看新旧内容

万里无云万里天

汇编语言

Mobpush智能化精准推送,助力求职者快人一步

MobTech袤博科技

智能推送

Java IO 与 NIO:高效的输入输出操作探究

程序那些事

Java 程序那些事 面试秘籍

PCE模型,FomoCat为何发起反Web3空气资产的社区试验

EOSdreamer111

Defi/ULAB质押挖矿开发Solidity语言丨ULAB质押挖矿系统开发技术

V\TG【ch3nguang】

以数智化指标管理,驱动光伏能源行业的市场推进

Kyligence

绿色能源 数据管理

Defi/LP云算力质押挖矿系统开发技术

V\TG【ch3nguang】

ubuntu系统部署dzzoffice及安装onlyoffice插件教程。

百度搜索:蓝易云

Linux ubuntu 运维 onlyoffice DzzOffice

8086汇编基础 debug jmp 修改CS:IP

万里无云万里天

汇编语言

8086汇编基础 debug mov al,'a'或者mov ax,'ab'错误的

万里无云万里天

汇编语言

8086汇编基础 debug mov 指定段内的内存单元存到寄存器中

万里无云万里天

汇编语言

构建高性能物联网数据平台:EMQX和CnosDB的完整教程

CnosDB

开源 时序数据库 emqx CnosDB

IDO预售代币LP流动性质押挖矿系统技术开发

V\TG【ch3nguang】

华为云应用中间件DCS系列—Redis实现(视频直播)消息弹幕

华为云PaaS服务小智

云计算 软件开发 华为云

2023 Visual Studio Code 插件推荐:18 个提高开发效率的常用插件

小万哥

程序员 前端 vscode 后端 编辑器

景区旅游分销管理系统开发搭建

V\TG【ch3nguang】

Python - 字典4

小万哥

Python 程序员 软件 后端 开发

虚拟机是什么

智趣匠

8086汇编基础 debug jmp 修改IP

万里无云万里天

汇编语言

DeFi/NFT质押借贷(挖矿)系统模式开发

V\TG【ch3nguang】

ubuntu下安装transition_amr_parser教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 SEO

手把手带你打一场时间序列实战—跑通baseline

打工人!

人工智能 机器学习 时间序列预测

定制化推送+精细化运营,Mobpush助力《迷你世界》用户留存率提升23%

MobTech袤博科技

智能推送

低代码技术这么香,怎么把它的开发特点发挥到极致?

陈橘又青

低代码 无代码开发 无代码 低代码平台 无代码平台

PCE模型,FomoCat为何发起反Web3空气资产的社区试验

股市老人

ES6新特性(一)

阡陌r

JavaScript ES6 模板字符串 解构赋值

eth2.0质押挖矿机制系统开发部署逻辑【详情】

V\TG【ch3nguang】

出海 SaaS 企业增长修炼手册:聊聊 PLG 的关键指标、技术栈和挑战

Kyligence

数据分析 指标管理

8086汇编基础 debug D命令 查看指定地址的内容

万里无云万里天

汇编语言

8086汇编基础 debug D命令 查看指定范围内的内容

万里无云万里天

汇编语言

8086汇编基础 debug D命令 查看指定地址及其之后的128字节的内容

万里无云万里天

汇编语言

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