在生产环境中使用Docker必须注意的事情

  • 时间:
  • 浏览:1

亲戚亲戚朋友儿非要提前大选Linux容器是一个多非常强大的概念,它组合了众多优秀的Linux内核功能和Docker开源工具,任何背景知识的开发者都很容易使用。在2016年容器峰会上,Bryan Cantrill深入的比较了容器技术造成的业界以及大众接受的那此的疑问与对新的用户因此再次出显的那此的疑问(链接中是大概48分钟的专题讨论)。那此的疑问诸如:因此对新技术肩上的支撑功能的理解不够深入而造成的技术不当使用以及使人不愉快的意外。昨天,Avishai Ish-Shalom做了一个多恶搞视频指出了在还这麼准备好的情形下使用Docker带来的挫折、意外和震惊。非常搞笑的视频,希特勒使用Docker:https://t.co/cmXB2Clj8D (译者注:该视频的中文版本在http://v.qq.com/page/n/u/a/n0193j4ylua.html)。在这篇博文中,亲戚亲戚朋友儿希望看一下其中的每一个多陈述并解构它们,以更深入的理解是那此使得你你是什么视频这麼精巧,而一并也还可不可以 作为任何一个多希望在生产环境中使用Docker的单位和自己的有益参考。

隔离性

视频以一个多非常流行的CI/CD场景现在开始英语 英语 英语 ,使用Docker的公有镜像源、Docker Hub及其多容器管理工具Docker-Compose。应该指出的是,Docker的官方文档明确说明了Docker-Compose在目前主我希望针对开发和测试环境的,太久适合在大规模的生产环境中使用。

本文来自云栖社区战略公司合作 伙伴DockerOne,了解相关信息还可不可以 关注DockerOne。

还可不可以 参考Docker docsthe Docker Security Portal

Docker缺省配置

正如博文Docker Internals强调的那样,因此你的Linux内核版本大于2.6.x,你还可不可以 关闭Docker守护多线程 上的userland-proxy以支持Hairpin NAT。

本文讲的是在生产环境中使用Docker还可不可以 注意的事情【编者话语】本文以最近非常火的希特勒怒喷Docker的视频为线索,完整分析了Docker存在的太久那此的疑问和弱点,以及在生产环境中使用Docker所要注意的方面。那此那此的疑问包括隔离性、镜像安全、Docker缺省配置、发布及部署;文章的最后分析了微软最近在容器支持方面的动作。

因此你你是什么视频中也犀利的指出了里边的技术运用方面的那此的疑问:

本文作者:liguangcheng 

多线程 的可扩展性依然还可不可以 你自己去关注,还可不可以 去探索适合容器的用户场景。容器Pods的概念鼓励将多线程 分解成更小、更专注、相互战略公司合作 的模块。容器提供的隔离性足够允许通过可重用的模块提供比单个的容器更可靠,更可扩展和变快的服务。亲戚亲戚朋友儿相信那此概念还可不可以 有一种针对如何构建云环境中的应用的思考土法律法律依据的变化。请参考容器编排模式即使对于那此传统的都不 这麼“CloudNative”的应用,容器也提供了强大的部署模式你是什么Joyent倡导的自动驾驶模式

微软

然而,容器技术被大众接受的土法律法律依据与虚拟机的使用土法律法律依据并这麼那此区别,镜像总爱涵盖了整个Linux系统和多量非还可不可以 的二进制多线程 。这不但使得镜像文件变大进而使得部署变快,也使得在生产环境中使用时增大了被攻击的因此性。幸运的是社区因此接受了slim应用容器的概念,通过使用最小化的Linux发行版你是什么Alpine – 现在所有的Docker官方镜像都使用Alpine,Alpine涵盖了静态编译的仅依赖于其所编译的内核的二进制多线程 。

微软前段时间承诺在Windows Server 2016中支持Windows容器的Docker API。在向Docker社区贡献代码使得Docke客户端工具还可不可以 在Windows工作但是,微软在Windows内核中实现了文件系统和容器基础功能,甚至开源了Dot Net核心CLR 。

不幸的是,在Windows和OSX中,要使用Linux容器还可不可以 在虚拟化环境中运行Linux内核,因此你你是什么那此的疑问这麼被充分的理解则因此带来的那此的疑问和挫折。Docker也正在通过Docker客户端来改善你你是什么那此的疑问(在写这篇文章的但是你你是什么新的Docker客户端版本还在Beta阶段)。新的Docker客户端所使用的补救土法律法律依据是通过更为紧密的与宿主机操作系统整合来复杂开发人员在非Linux操作系统上的体验。

发布&部署

Docker工具箱不仅使得容器技术更流行,也涵盖了关键的发布功能组件使得容器成为更流行的代码打包和部署土法律法律依据。容器镜像使用已有的打包和部署工具补救了太久实际的那此的疑问。

通常来说,还可不可以 仔细研究Docker的缺省值在你的环境和使用案例中有无有一种优化的配置。你是什么Docker文档中覆盖了如何取舍 COW文件系统的所有内容。

容器vs 虚机

容易在“应用打包”的场景中提供了比虚机更多的优势,容器还可不可以 变快的构造,更容易分享,也还可不可以 变快的启动和停止。

原文发布时间为:2016-04-17

微软似乎扩展了Astoria项目(一个多Andriod模拟器)成为一个多令人印象深刻的模拟Linux的Windows子系统(WSL),微软上周提前大选了WSL使得整个业界感到震惊。

博文Sandwich Analogy深入的解释了为那此使用Docker Hub上的非官方公共镜像应该是使人担心的。

让亲戚亲戚朋友儿在三明治的上下文中思考容器技术。通过观察,我能 轻易的了解到三明治的基本信息你是什么里边夹的是番茄还是生菜还是火腿因此火鸡肉;或许里边太久你看非要的东西,但有你在身边基本上非要解大每项的内容。这就跟容器你是什么,我能 了解到的信息诸如操作系统是Fedora因此RedHat因此Ubuntu,有无有httpd,shell类型,systemd的使用等等,因此里边也因此有你在身边身边意想非要的隐藏那此的疑问,你是什么/bin/sh或许被替加进了一个多Python脚本,这就像是三明治里在生菜里边藏着橄榄一样。
镜像内容的安全那此的疑问再次出显在2014和2015年的太久新闻中。Docker总爱努力的为补救你你是什么那此的疑问加进还可不可以 的功能。内容可寻址镜像层用来验证镜像的签名内容,有镜像抓取验证功能的镜像源不再将镜像ID作为保密内容,Docker Hub的Nautilus宽度检视保证官方公共镜像的安全漏洞被及时被修复,另外Docker引擎还涵盖了诸如用户名字空间,Secomp和AppArmor配置以及其它太久安全相关的功能。

原文标题:在生产环境中使用Docker还可不可以 注意的事情

神化Docker的想法的幻灭。Jérôme Petazzoni在他的DockerCon EU 2015上的演讲涵盖了更多的细节,cgroups完整的涵盖了Linux容器对于资源管理的基本需求。对于视频里关于fork炸弹的吐槽,Docker 1.11涵盖了一个多修改,详情见你你是什么视频的作者和Docker的维护者@jfrazelle之间的一段Twitter会话:

@frazelledazzell @francesc @nixcraft @m1keil nproc cgroup的支持只会在1.11.0中https://t.co/lCKjdNmx5Y

— Avishai Ish-Shalom (@nukemberg) April 11, 2016
在云环境中但是值得注意的那此的疑问是熵的消耗(译者注:entropy depletion https://en.wikipedia.org/wiki/ ... %2529),这在共享内核的场景中是非常有意义的,还可不可以 参考HAVEGED作为一个多变通方案。

#GIFEE 但是,视频指出了另外一个多关于实施容器运行时隔离的那此的疑问:

目前在Windows中集成的Linux内核API的目标是大每项的Linux系统调用,还可不可以 使得Windows对软件开发者来说成为一个多更有吸引力的平台(仅对目前)。将最近存在的太久事件通过一个多这麼精彩的土法律法律依据来展现,亲戚亲戚朋友儿向你你是什么视频的创造者致敬!Hacker-News上的讨论参考:Ignore the Hype原文链接:Docker Caveats(翻译:李光成)========================================================译者介绍李光成,IBM中国研究院资深研究员,研究方向是云计算基础设施及技术。目前在做的是Docker资源隔离方面的研究项目。

这强调了共享内核带来的第一个多那此的疑问:降低了可靠性与冗余。

亲戚亲戚朋友儿相信,你你是什么段的启示应该是:

因此你的基础设施的整体设计这麼保证每有一种资源的可靠性和冗余性则太久使用容器。
你或许还可不可以 通过太久技术的运用重新提升可靠性,你是什么使用共享存储、服务编排、监控以及涵盖自愈功能的框架如Swarm中的当有节点失败时进行容器重新调度;因此Kubernetes副本设置中的“The Reconciliation Loop”的概念。