CSDN话题挑战赛第2期
参赛话题:万家争鸣的云计算修罗场
我想分享的云计算技能/知识点
为什么使用容器
该技能/知识点的背景介绍
与传统软件行业的开发、运维相比,容器虚拟化可以更高效地构建应用,也更容易管理维护。 举个简单的例子,常见的LAMP组合开发网站,按照传统的做法自然是各种安装,然后配置,再然 后测试,发布,中间麻烦事一大堆,相信不少读者都深有体会。
过了一段时间,用户群体增加,服务器需要搬迁到更合适的机房,往往需要再执行一次以前的 部署步骤,还包括数据的导出导入,极大地花费了运维人员的时间。最可怕的是搬迁后因为一些不 可预知的原因导致软件无法正常运行,只能一头扎进代码中找Bug.
该技能/知识点实际运用
如果使用容器技术,运维只需要一个简单的命令即可部署一整套LAMP环境,并且无需复杂的 配置与测试,即便搬迁也只是打包传输即可,即使在另一台机器上,软件也不会出现“水土不服” 的情况。这无疑节省了运维人员的大量时间。
而对于开发来说,ー处构建,到处运行大概是梦寐以求的事情,这也是很多跨平台语言的宣传 标语之ー,但是不管是怎样的跨平台语言在很多细节上都需要不少调整才能运行在另ー个平台上。 但容器技术则不一样,开发者可以使用熟悉的编程语言开发软件,之后用容器技术打包构建,便可, 以一键运行在所有支持该容器技术的平台上。
容器技术具有更快的交付和部署速度,而且相较于其他虚拟化技术,容器技术更加轻量。
总结
所谓容器,顾名思义就是用来放东西的器具,有意思的是在Docker刚引入国内的时候,曾有过 一番讨论Container这个单词是翻译为“容器”合适,还是“集装箱”合适。之所以有人建议翻译为 “集装箱”,并不仅仅是因为Docker的图标是一条鲸鱼驮着几个集装箱的形象,而因为容器技术本身 就是借鉴了エ业运输上的经验发展而来的。
《经济学家》杂志是这样评价エ业运输领域集装箱的:“没有集装箱,就不可能有全球化。”在1956 年集装箱出现之前,货物运输缺乏标准,成本很高,特别是远洋运输,直到“集装箱”这个概念的 出现,毫不起眼的集装箱降低了货物运输的成本,实现了货物运输的标准化,以此为基础逐步建立 起全球范围内的船舶、港口、航线、公路、中转站、桥梁、隧道、多式联运相配套的物流系统,世 界经济形态因此而发生改变。
同样的,软件行业的容器技术也是在尝试打造一套标准化的软件构建、分发流程,以降低运维 成本、提高软件安全与运行稳定等。与工业运输的集装箱不同,容器技术要复杂很多,容器技术不 仅仅要打造ー个运输用的“集装箱”,还要保证软件在容器内能够运行,在操作系统上打造ー个“独 立的箱子”。这需要解决文件系统、网络、硬件等多方面的问题。经过长时间的发展,容器技术现已逐步成熟,并在Docker的诞生下迎来了它的繁荣时代。