写点什么

关于 Docker 的几大误区

2014 年 7 月 10 日

作为一名系统管理员, Matt Jaynes 结合自身经验对 Docker 进行了评价。它在网站 DevOps University 上发表了博文《关于Docker 的几大误区》,对那些在小范围内采用Docker 而又没有坚实的基础设施作基础的情况提出了警告,并提供了改进部署过程的可选方案。

Benjamin Wootton 是 Contino 的 CTO。在博文《微服务——不是免费的午餐》中,他早已对基于微服务的架构的巨大运维开销提出了警告。Matt 的经验主要来自设置 Web 应用程序服务器,他同样提出了警告,并且指出,要想在生产环境中安全的使用它,就要成为系统管理专家:

当前,为了使用 Docker,用户需要更多系统方面的专业知识和技能,而不是更少。我们读到的关于 Docker 的几乎每一篇文章,给出的都是极其简单的应用场景,忽略了在多主机生产系统上使用 Docker 的复杂性。这让人对在生产环境中使用 Docker 实际上要做些什么产生了错误的印象。

如果不想学习如何管理服务器,那应该选择使用像 Heroku 那样的平台即服务(PaaS)。Docker 不是这样的解决方案。

Matt 建议从基于角色的容器(应用程序、数据库、缓存、……)入手,并且只用于有意义的角色,但前提是,项目有一个坚实的基础设施作基础:

如果基础设施存在严重的漏洞,那就不应该考虑 Docker。那就像将一辆法拉利停在不牢固的悬崖边上。

在部署过程中,用户还可以做一些其它优化来提升性能和一致性,而不是采用 Docker:

  • 使用配置管理工具(Ansible、Puppet、……)来简化服务器创建和管理,尤其是在云环境中。
  • 创建云镜像,而不是从头开始配置,以便更快地创建新服务器。基础镜像和已启动的服务器仍然可以使用配置管理工具进行配置。
  • 固定版本,明确包的版本以及它们之间的依赖关系,确保软件不会随着环境或时间的变化而变化。
  • 使用 git 或 rsync 部署应用程序,那样服务器可以以最小的下载量更新,类似于 Docker 的镜像层缓存。
  • 如果应用程序构建或准备过程耗时很长,则使用包部署应用程序。使用预先构建的包,如 zip、rpm 或 deb,会加速跨服务器的部署过程。

对于多主机生产环境,Matt 建议,如果不需要 Docker 提供的额外的好处,就尽可能多地使用这些优化方法。目前,大规模的使用 Docker 要等到它所带来的好处大过它额外增加的复杂性。但是,按照该项目的进展速度,情况很快就会有所不同。

查看英文原文:**** Top Docker Misconceptions

2014 年 7 月 10 日 12:394251
用户头像

发布了 256 篇内容, 共 66.5 次阅读, 收获喜欢 4 次。

关注

评论

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

性能优化:线程资源回收

AI乔治

Java 架构 JVM 性能调优

一文搞懂所有HashMap面试题

云流

编程 面试 计算机

K8S CSI 容器存储接口 (二):如何编写一个CSI插件

silenceper

Kubernetes Kubernetes源码 CSI

用FL Studio基础版制作一首完整的电音

奈奈的杂社

音乐制作 编曲 电音 电音制作 中国电音

区块链版权应用开发,区块链助力版权保护

13530558032

淘宝APP高并发架构设计pdf已开源:从架构分层到实战维护,挑战全网

马士兵老师

Java 编程语言 高并发 淘宝 高并发系统设计

淘宝直播技术干货:高清、低延时的实时视频直播技术解密

JackJiang

即时通讯 视频编码 实时音视频 直播技术

服务器选择要注意什么?

德胜网络-阳

Linux笔记(一):基本命令

Leo

Linux 前端进阶训练营 笔记

K8S CSI容器存储接口(一):介绍以及原理

silenceper

Kubernetes CSI

Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合

比伯

Java 架构 面试 编程语言 计算机

浅谈原子操作

阿里云基础软件团队

内核

架构师训练营第十周作业

我是谁

极客大学架构师训练营

很简单却能让你面试头疼得Java容器,这里从源码给你解释清楚

小Q

Java 学习 源码 容器 面试

全球至少有36家央行发布了央行数字货币计划

CECBC区块链专委会

数字货币

谁说产品经理和程序员之间不能和平共处?

华为云开发者社区

DevOps 产品经理 用户地图

五年Java开发经验,4面阿里成功拿下offer,分享一下个人面经!

Java成神之路

Java 程序员 架构 面试 编程语言

智慧警务大数据平台搭建_公安大数据应用平台

13530558032

一口气看完45个寄存器,CPU核心技术大揭秘

程序员架构进阶

cpu 操作系统 寄存器 核心

实体经济的数智化要塞,为什么是供应链?

脑极体

BitArray虽好,但请不要滥用,一次线上内存暴增排查

AI乔治

Java 架构 JVM 内存泄露

当艺术品遇上区块链:金丝楠木艺术品溯源

CECBC区块链专委会

区块链 溯源 艺术品

【2020GET】即构科技蒋宁波:教育行业客户需求的核心是什么?

ZEGO即构

区块链溯源有哪些优势?区块链产品溯源系统搭建

13530558032

使用sonar扫描svn中的代码后,没有作者或责任人信息

lee

svn 代码质量 sonar

连企业业务模式都搞不清楚,何谈研发体系建设?

菜根老谭

研发体系

架构师训练营 -week10-作业

大刘

极客大学架构师训练营

区块链赋能保险理赔,宁波开启“零感知理赔”试点

CECBC区块链专委会

区块链 保险理赔

阿里P8大牛熬了半个月肝出来的《Java核心技术总结》+《面试题总结》,PDF离线版免费开放下载!

Java成神之路

Java 程序员 架构 面试 编程语言

原理实践,全面讲解Logstash+Kibana+kafka

996小迁

Java 程序员 架构 面试

LeetCode题解:17. 电话号码的字母组合,回溯,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

关于Docker的几大误区-InfoQ