BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

关于Docker的几大误区

| 作者 Carlos Sanchez 关注 0 他的粉丝 ,译者 马德奎 关注 0 他的粉丝 发布于 2014年7月11日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

作为一名系统管理员,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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT