来自OSCON上最受欢迎Docker演讲的五个技巧

来自OSCON上最受欢迎Docker演讲的五个技巧

作者:译:Henry Huang 2015-08-26 10:15:11

云计算 毫无疑问,Docker非常非常的火,Bridget带来她对DevOps和容器化的深度经验:她是一名运维工程师,博主,演讲者,明尼阿波利斯DevOps日的组织者,也是”被捕获的DevOps“频道的主持人。

本文介绍了上个月OSCON大会有关Docker***的一个分享:真实线上环境的Docker技巧。分享者是一名运维工程师叫Bridget,她所在的公司DramaFever在2013年10月开始在线上环境部署使用Docker。然而那个时候,Docker官网还挂着“请勿在线上环境使用”的警示条。从2013年到现在,DramaFever积累大量Docker线上使用的实际经验。这些经验的分享,吸引了大量的与会者,当天会场爆满,组织者只好请Bridget第二天再讲了一遍。可见这个分享还是蛮有价值,这篇博文介绍的有些过于简单,有兴趣的话,可以直接去读她的演讲稿或者当天的视频。

[[146885]]

上个月在波特兰举行的OSCON开源大会上,有关Docker和容器的分享最令人印象深刻的,一定会是Bridget Kromhout的“线上环境使用Docker,真实不炒作”。整个会场爆满,只剩下站的地方,后来者都被挤到门外面。组织者只好请Bridget第二天再讲了一遍。

毫无疑问,Docker非常非常的火,Bridget带来她对DevOps和容器化的深度经验:她是一名运维工程师,博主,演讲者,明尼阿波利斯DevOps日的组织者,也是”被捕获的DevOps“频道的主持人。

Bridget的公司,DramaFever,自2013年10月开始在线上环境使用Docker,那个时候Docker官网上还写着警示语:”不要在线上环境使用Docker”。DramaFever是一家流媒体视频公司,起初播放韩国的肥皂剧,现在给docclub.com和shudder.com提供额外的视频服务。目前有来自70个内容提供商的15000集电视剧,将近2000万的观看者。高峰时刻,公司要处理来自不同的终端每秒上万次的请求–观看者会经常在节目中间切换终端设备。

为了能够满足上述需要且提供好的用户体验,DramaFever将原先单体的Python应用拆分成了微服务。整个团队在AWS上面运行服务,主网站使用Python,微服务用Go语言。DramaFever依赖Docker来提供持续的开发和部署。

在线上环境改用Docker的过程中,Bridget和她的团队学到了很多教训。下面五个主要的经验,是她在OSCON上分享的。

1.小心Docker Registry过度负载

DramaFever开始它的容器旅程之时,Docker还没有私有的Registry,但是他们对这点很不满意:Registry在 Docker中成为不被控制的单点故障源。DramaFever网站当时依赖于Jenkins机器上部署的单个Registry服务器,可是,当多于20 个机器需要使用时,Registry就出故障了。现在DramaFever的每台EC2机器(甚至笔记本)上都会运行着一个私有的registry容器,并辅以AWS S3作存储。这个解决方案不需要占用很多的资源,而且能解决机器扩充的瓶颈。

2.编制自己的基础镜像

为了保证Docker的镜像是***的,DramaFever的运维团队每周都会尝试更新“基础镜像”,包括不频繁的依赖变化,比如Ubuntu包依赖或者Python的依赖文件等等。其他的部分都是基于这些镜像,所以启动会非常快。

3.避免有问题的线上推送

一定要确保没有人知道在线上环境能够执行 docker push 命令的账号和密码。我们要保证这些命令只会在Jenkins服务器触发。这样可以避免在没有其他人在场的情况下,发生有问题的线上环境推送。

4.记得清理

容器和镜像都会占用大量的硬盘空间。如果Docker源码区空间被用光,“非常非常糟糕的情况就会发生,甚至会导致硬盘的损坏”,Bridget解释道。她建议每天执行一个脚本来移除停掉且无标识的容器和镜像。

5.注意你的系统时间

AWS S3服务对你的系统时间非常在意。不幸的是,尽管boot2docker这款应用可以让Docker运行在Windows和MacOS环境,但如果你的笔记本开始休眠,这个应用将不能正常工作,因为虚拟机里的系统时钟会停滞。这时,任何AWS API请求会得到RequestTimeTooSkewed的错误。为了解决这个问题,所有DramaFever的工具都包含这行代码:

  1. ` boot2docker ssh sudo date --set \"$(env TZ=UTC date '+%F %H:%M:%S')\" 

这是一个已知的问题,boot2docker正在修正。

Bridget的观点对于正在考虑线上使用Docker的人来说,非常有价值。你可以浏览一下她的演讲稿,读读她的博客文章。

其中最重要的是,虽然Docker很伟大,不过也没那么神奇。容器提供了一些非常酷的且引人注目的优点,但是就如同任何新技术一样,Docker需要我们尽职研究,以确保它会正常工作,并满足特定环境的需求。

Tori Wieldt是New Relic的攻城狮激励师,她写博客,在New Relic的用户组演讲,并给New Relic开发者提供建议和培训。之前她一直在科技界,是一名系统管理员,技术作家和销售。

译者介绍:

Henry Huang,目前供职于趋势科技 Trend Micro(南京),负责集群运维的工作。
 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/250627.html<

(0)
管理的头像管理
上一篇2025-04-28 14:34
下一篇 2025-04-28 14:36

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注