文档章节

为生产环境准备Docker容器的有关课程

有容云
 有容云
发布于 2016/12/14 15:02
字数 1489
阅读 29
收藏 1

【编者的话】本文为独立顾问James Higginbotham于DZone网站中发布的文章Lessons in Preparing Docker Containers for Production,此文描述了在使用Docker进行生产时需要记住的一些关键点,包括自动化,数据库决策以及编排等方面的重要性。

最近,我花了两个星期,帮助未来的架构师和技术领导者们了解原生云架构。我们在Realscale网站上讨论了许多涉及到的概念。

其中讨论的一部分重点是将容器化作为旧版应用程序现代化的战略。部分领导者们决定使用Docker容器去建立他们项目的一部分。在这篇文章中,我将会分享他们在开始这个项目时发现的重要经验和学到的关键教训。
 

一切自动化

许多的开发者作出的假设是-认为他们的服务器将是运行很长一段时间。但其实他们并没有一个适当的用于恢复的自动化流程,如果他们的Docker主机 -我们以一个在这种情况下的EC2实例来举例,发生故障或终止。这包括存储在本地文件系统,而不是任何数据远程块或基于文件系统的存储

我们的生产环境的Docker容器需要确保Docker主机在故障的情况下可以被替换并能用上新的实例。这就要求服务器监控和自动化手段来确保可靠的基础设施为我们的生产中的Docker实例提供足够的业务支撑。虽然我倾向于通过使用Cloud66来实现,不过一些团队倾向于选择使用其他服务,或使用Docker Swarm或Kubernetes来管理它们。
 

编排您的容器

你是否认为云服务器是一种存活时间短并且转瞬即逝的资源呢?容器存活的时间通常更短。根据它们的需要,容器一般可以持续存活几秒钟或者几天或更长的时间。这其实应该已被纳入设计和实现代码的方式。如果你的代码或应用程序的配置假定了他们的环境是长期的,又或者他们所依赖的其他服务将会持续存在,那么,这有可能会带来意想不到的灾难。

容器管理和业务流程的解决方案确保了有足够的容器可用,可按需扩展或收缩实例,并可以控制分配给我们的容器以及主机资源(如CPU和内存)。在研讨会期间,我们讨论了像Cloud 66如何处理这种没有任何多余的脚本的这样一种方案,帮助他们了解到了选择适合自己的目标架构供应商的会带来的好处。

一些开发人员对于容器存活这一问题认识到的有点晚,所以之前通常这么做他们的内部文件系统。我们来假设部署一个数据库 - 我们用MongoDB来做这次的举例 - 那么数据库必须挂载必要的数据文件和外部存储。否则当容器被销毁时,任何插入的数据也是如此。同样,任何重要文件必须遵循同样的限制约束。

Docker有一个很好的文档,它解释了如何运作的这方面的更多细节。
 

明智地选择你的数据库

之前写过该篇文章,所以就在这里过多地讨论了。那些领导者们会发现他们的数据库平台的选择会正面或负面的影响了他们的基础设施建设和实施的需要。有些团队选择了一个key/value键/值存储例如Redis,他们只是认识到实现一些密钥聚合功能所需的工作量将可以通过选择不同的数据库来实现更好地处理。值得庆幸地是,它有可能是一个小项目并且这个问题在早期就被发现。但其实我见过的项目通常不是这种情况,它最后都花费了相当大的努力来取代最初的选择,更糟地是,那些出现的各种问题动用了许多方法和业务中断去解决。
 

无服务状态是有戏的,但它不能代表一切,然而。。。

一些领导人决定探讨一个纯粹的无服务器架构。虽然他们能够解决许多使用无服务器方式的现代化需求,但是往往忽略了几件事情。这些事情包括:每个帐户的速率限制,端点和帐户级别使用情况报告,以及内置的细粒度访问控制的完整的API管理解决方案。这些和其他功能可以随着时间的推移和一些代码来克服,但大多数项目团队期望专注于功能,而不是基础设施的建设。

一些领导人选择了混合使用Docker容器和无服务器的方法来部署他们的API管理层,要求服务器终究还是要被管理的。通过选择最佳的容器编排的方式作为我们的解决方案(如前所述),团队可以通过使用Docker和无服务器功能的组合来合并必要的基础设施。
 

Docker已经适于生产环境了么?

是的,Docker肯定已经适于生产环境了。许多组织都意识到使用Docker所带来的好处,像GEADP,等等。只要确信你肯花时间来计划你的Docker生产环境。

 

来源:http://www.youruncloud.com/docker/1_83.html

本文转载自:http://www.youruncloud.com/docker/1_83.html

有容云
粉丝 2
博文 52
码字总数 38431
作品 0
深圳
私信 提问
Docker Desktop Enterprise“版本包”功能详解

出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一、三、五,与您不见不散! 这是我们在 DockerCon Barcelona 大会上承诺发布的关于 Docker Desktop Enterprise 更多细节的系列文章中的第...

docker公司
02/25
0
0
第1章 容器技术和Docker简介

容器技术。docker。 到底什么是docker? 虚拟机和容器的区别。创建虚拟机,不同应用在不同虚拟机内进行隔离。容器技术进行隔离。 不需要虚拟化这一层虚拟的操作系统,只需要在本地操作系统之...

天涯明月笙
2018/07/09
0
0
Docker 桌面版再填新成员,企业版助力生产提速

出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一、三、五,与您不见不散! 对于想要基于容器进行开发的组织来说,Docker Desktop 是一种最直接、最简单的方法。因此,每天有将近140万的...

docker公司
2018/12/10
0
0
【线上】cSphere希云 Docker实战之入门以及Dockerfile

这是一个面向全国代码劳动人民的 线上活动 哦,对Docker感兴趣的Oscers们接皂,不客气:) 第一期课程:Docker实战之入门以及Dockerfile 开课时间: 2015.06.03 21:00-23:00 互动时间 23:00-...

文洁洁洁
2015/05/27
5.3K
19
“镜像扫描+基于策略的镜像提升”,打造安全的 Kubernetes 供应链!

出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一、三、五 与您不见不散! 上个月 Docker 企业版(EE)容器平台的测试发行版集成了可以与 Swarm 并存运行的 Kubernetes 编排,从而提供了...

1820521082361616
2018/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

蚂蚁区块链BaaS:开放在云端,落地于实体

自 2018 年 6 月上线以来,蚂蚁区块链 BaaS 不断在技术上实现突破,形成自身独特的优势,并做为行业领军者在不同领域的几十个场景实现落地。在区块链的商用时代加速到来之际,通过开放自身的...

阿里云官方博客
31分钟前
3
0
Idea cannot access【好使】

Idea中无法访问类中public方法。。 解决: idea点击左下角电脑图标,打开右边栏各种功能键 右边栏Maven Projects中点一下刷新,就是那个两个蓝的箭头组成的环 ----------------------------...

Airship
31分钟前
3
0
Spark内置图像数据源初探

作者:林武康,花名知瑕, 阿里巴巴计算平台事业部EMR团队的高级开发工程师,Apache HUE Contributor, 参与了多个开源项目的研发工作,对于分布式系统设计应用有较丰富的经验,目前主要专注于...

阿里云云栖社区
32分钟前
1
0
【面试被虐】游戏中的敏感词过滤是如何实现的?

小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了以下事情的发生….. 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过...

爱编程的浪子
34分钟前
4
0
springboot之maven属性引入

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><delimiters><delimite......

Online_Reus
35分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部