《基于Kubernetes的容器云平台实战》——1.2 为什么要用Docker

举报
华章计算机 发表于 2019/06/02 00:01:07 2019/06/02
【摘要】 本书摘自《基于Kubernetes的容器云平台实战》——书中的第1章,第1.2节作者是陆平、左奇、付光、张晗、赵培、单良

1.2 为什么要用Docker

虚拟化及容器化是云计算的两大技术,Docker中应用的就是容器技术。要讨论为何使用Docker,首先要理解为何要使用容器技术。说到容器技术的优点时都会谈到虚拟机,并且都会同其进行对比,具体如图1-1所示。

image.png

图1-1 虚拟机与容器的比较

一般来说,虚拟机通过模拟硬件环境,并启动完整的操作系统为应用运行提供独占环境,因此其中需要安装Guest OS。与此相反,容器是主机操作系统上的进程虚拟化,容器镜像中并不需要OS内核,因此也不需要安装Guest OS,只需要应用运行相关的库和文件就可以了,而容器实例中各种虚拟设备都会由运行时环境在启动实例时准备好。这就造成了其占用系统资源少、系统损耗小、启动快的直观效果,同时在系统采购成本上自然也会降低。

另外结合图1-1中右侧表格里的各项对比信息,可以进一步总结出一些优选容器或者说优选Docker的原因(当然,这是一个见仁见智的领域,很难有真正的“先知”):

1)更轻量:容器是进程级的资源隔离,虚拟机是操作系统级的资源隔离,容器比虚拟机节省更多的资源开销。

2)更快速:容器实例创建和启动无需启动Guest OS,实现秒级/毫秒级的启动。

3)更好的可移植性:容器技术(Docker)将应用程序及其所依赖的运行环境打包成标准的容器镜像,进而发布到不同的平台上运行,实现应用在不同平台上的移植。

4)更容易实现自动化:镜像构建和镜像上传/下载都可以自动化实现;容器生态系统中的编排工具所具备的多版本部署能力可以在更高层次上对容器化应用的自动化测试和部署过程进行优化。

5)更方便的配置:用户可利用外部数据卷挂载能力,为容器在多种环境下的平滑运行提供保障;还可通过环境变量、域名解析配置等方式动态配置容器。

6)更容易管理:可以在既有镜像基础上利用分层特性,增量式地构建新的镜像。这种维护操作很容易实现自动化和标准化,因此也更容易加以管理。

不过,充分地理解和运用Docker技术可帮助用户更好地实现信息化过程中的很多目标,比如更高效地利用系统资源,更快地收回投资,减少成本支出;敏捷的软件开发模式和高效的软件交付能力;更轻松的维护和扩展;持续的交付和部署等,这恐怕也是Docker引擎已经拥有数百万忠实用户的原因了。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。