初识容器与Docker

如果说主机时代大家拼的是单个服务器物理性能(如CPU主频和内存),那么在云时代,最为看重的则是凭借虚拟化技术所构建的集群处理能力。

伴随着信息技术的飞速发展,虚拟化技术早已经广泛应用到各种关键场景中。从20世纪60年代IBM推出的大型主机虚拟化,到后来以Xen、KVM为代表的虚拟机虚拟化,再到现在以Docker为代表的的容器技术,虚拟化技术自身也在不断进行创新和突破。

什么是Docker

Docker开源背景

Docker是基于Go语言实现的开源容器项目,诞生于2013年年初,最初发起者是dotCloud公司。

Docker项目已加入了linux基金会,并遵循Apache2.0协议,全部开源代码均在https://github.com/docker/docker上进行维护。在linux基金会最近一次关于“最受欢迎的云计算开源项目”的调查中,Docker仅次于2010年发起的Openstack项目,并仍处于上升趋势。

Docker的构想是要实现“Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件“一次封装,到处运行”的目的。

linux容器技术—巨人的肩膀

跟着大部分新兴技术的诞生一样,Docker也并非“从石头缝里蹦出来的”,而是站在前人的肩膀上,其中最重要的就是linux容器(linux Containers,LXC)技术。

从Linux容器到Docker

简单地讲,可以将Docker容器理解为一种轻量级的沙盒(sandbox)。每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。容器的创建和停止都十分快速,几乎跟创建和终止原生应用一致;另外,容器自身对系统资源的额外需求也十分有限,远远低于传统虚拟机。很多时候,甚至直接把容器当作应用本身也没有任何问题。

有理由相信,Docker技术会进一步成熟,将会成为更受欢迎的容器虚拟化技术实现,并在云计算和DevOps等领域得到更广泛的应用。

Docker容器虚拟化的好处

Docker提供了一种聪明的方式,通过容器来打包应用,解耦应用和运行平台。意味着迁移的时候,只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器是否同一类型的平台。这无疑将节约大量的宝贵时间,并降低部署过程出现问题的风险。

Docker在开发和运维中的优势

更快的交付和部署

更高效的资源利用

更轻松的迁移和扩展

更简单的更新管理

Docker与虚拟机的比较

特性 容器 虚拟机
启动速度 秒级 分钟级
性能 接近原生 较弱
内存代价 很小 较多
硬盘使用 一般为MB 一般为GB
运行密度 单机支持上千个容器 一般为几十个
隔离性 安全隔离 完全隔离
迁移性 优秀 一般

Docker与虚拟化

avator

-------------本文结束感谢您的阅读-------------

本文标题:初识容器与Docker

文章作者:clay

发布时间:2018年07月27日 - 18:07

最后更新:2018年07月27日 - 19:07

原始链接:https://clay-wangzhi.github.io/2018/07/27/docker-初识docker/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。