生产环境用Docker?先做到这些再说!

编者按:Docker作为近几年来最受欢迎的开源技术,操作简单是其迅速能流行起来的原因之一。写个Dockerfile,在本地build成镜像,就能很快地运行起来。但那是对于个人开发者来说,对于公司或组织来说,在生产环境中应用Docker并不容易,本文将为你细数在生产环境中应用Docker之前,需要做的关键决策。以下为译文:

>>>>

关键决策1:镜像管理

在开发环境中,写一个Dockerfile或docker-compose.yml文件来构建镜像是很简单的事情,但在生产环境中,你应该创建一个可持续的流程来构建Docker镜像文件。这会减少对本地环境的依赖,同时避免开发笔记本成为唯一构建新镜像的手段。还能让你创建一个从代码提交到Docker镜像的持续部署的流程,这个流程还不需要任何人为的干预。

你可能还需要一个私有的Docker镜像仓库。虽然Docker提供了私有的镜像仓库,你可以去部署和管理,但限于国内的网络环境,用起来会很不爽。

>>>>

关键决策2:云的选择

大部分自建Docker生产环境的用户,也还是要把Docker部署到IaaS上。虽然目前许多IaaS都支持Docker容器的部署,但是大部分的资源消耗都超出了容器实例本身所需的资源,在最开始做好价格的调查很重要。

还要注意在不同平台的容器部署流程也不尽相同,如果未来想更换云服务商会比较麻烦。如果你希望采用多个云避免被lock-in,还需要做一些额外的方案来保证流程的一致。这样考虑的话,选择一家CaaS服务更能直接达到目的。

>>>>

关键决策3:网络访问和安全

在本地开发环境中跑容器,是不会产生安全风险的。所有的进程跑在单一的主机上,可以将常见的针对生产环境服务器的网络入侵和攻击的风险隔离在外。

为了方便在开发过程中的故障检修,开发的配置是很开放的。而在生产环境中的网络设置需要更多的考虑。比如,一些特定的容器是不能被公网访问的,只能被一个私有网络中的其它容器访问。网络流量监控,暴力破解等攻击方式应该都能被识别出来,并能得到适当的处理。

你还需要时刻关注新发布的安全包,决定你的主机和容器是否安全,或者是必须安装的。将容器投入生产环境时,需要考虑网络访问,还有你的容器和Docker主机是不是打了补丁,不要忽略了生产环境的关键步骤。

>>>>

关键决策4:容器和主机间的负载均衡

一旦服务从一个单独的容器迁移到跨主机的多个容器上,就会有负载均衡的需求。使用类似Nginx或HAProxy的工具是最常用的做法,但要随着容器的创建和部署,以及新的Docker主机的添加,保持配置的更新是很难的。

注意!要支持多版本同时运行,除非你计划在升级时,离线部署应用。你的负载均衡策略要考虑到这一点,防止掉线或者网络被路由到错误的版本。

>>>>

关键决策5:部署流程

许多开发者都认为:在开发环境中用起来没问题的工具,在生产环境中用起来肯定也没问题。但情况并不是这样的,比如Docker Compose在开发和生产环境配置就大相径庭,从volume绑定到端口绑定和网络配置都不一样。在多主机的环境下,复杂度会更高。另外,生产环境中还会有很多开发环境之外的容器,比如日志收集,外部数据库,和HA消息代理等。

协调环境配置的差异需要很多脚本的工作,它不像在生产环境中一行docker-compose up这么简单。从一个简单的,单容器的应用到多个容器,通过负载均衡器分担workload的环境中,要事先做好各种细节的考虑。随着应用的成熟和流量的上升,滚动升级(rolling upgrade)和蓝绿部署(Blue-green deployment)的策略都可以预防网站宕机。

>>>>

关键决策6:服务发现

随着容器数量的增长,管理这些容器的成本也在增加。许多工具可以管理这个过程,大部分需要被集成到你的Docker生产环境中。不管选择什么都要保证服务注册和容器实例的同步,以及容器被部署到多个Docker主机上时的负载均衡,这样做可以保证你的应用被路由到特定的容器实例。

>>>>

关键决策7:日志管理

在开发环境中使用DockerCompose会让日志变得琐碎,跨主机的多容器环境会让情况变得更复杂。分布式日志可以将多个服务器中的日志汇总起来,你的生产环境基础设施需要跨容器的日志收集器。还需要提供相应的查看和搜索这些日志的功能。

>>>>

关键决策8:容器监控

在生产环境中对容器的监控相当重要,从Docker主机到容器,你需要知道每个服务和整个系统的健康状况。选择正确的工具和监控策略,可以减小宕机带来的损失,还能最大化的利用主机资源,保证良好的用户体验。

>>>>

关键决策9:数据库管理

开发环境中,数据库可以跨容器托管,不用担心I/O性能。在生产环境中,这个问题就不容忽视了,尤其是当我们的应用有很高的用户体验需求时。扩展数据库来按需处理I/O的增长,以保证高可用性和可靠的备份/存储策略,是保证现代web应用和移动APP运行的关键。选择生产环境的策略会对你的用户产生积极或消极的影响。

>>>>

以上缺一不可吗?

是的!以上都是产品成功不可或缺的要素,除非你在部署一个流量不大的,不重要的应用。要记住,Docker只是一个工具,并不是一个产品化的架构解决方案。Docker提供了很多令人『惊艳』的功能,但想在开发环境中使用Docker,要付出的努力并不亚于其它工具。

如果你的核心并不在这些技术,而是业务,建议选择一家CaaS供应商,而不是自己搭建整个Docker生产环境。(比如灵雀云)

via:http://www.alauda.cn/2016/07/20/production-docker/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,506评论 15 147
  • 写这篇文章主要是为了今后毕业论文素材上的整理,同时对docker进行巩固温习。大纲: docker简介docker...
    胡图仙人阅读 7,389评论 2 96
  • 明明是月明如霜 一钩新月挂南窗 灯光璀璨与明月迢迢相望 转眼间月亮变了脸 我揉揉眼睛 以为疲惫让视线模糊 皎皎明月...
    心若芷兰阅读 315评论 12 21
  • 七年,或者八年 会是一段多长的时间? 有时,觉得很短 短到一不小心就能回忆一个来回 有候,又觉得很长 长到绵延成一...
    欲笺斜阑阅读 425评论 1 3
  • 16-01-15星期五 雨 13天 年轻的时候,连多愁善感都要渲染的惊天动地 。长大后却学会,越痛,越不动声色。越...
    年念玲阅读 131评论 0 0