---恢复内容开始---
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易的在机器和数据中心中运行。更重要的是,它们不依赖于任何语言,框架或包括系统。
“Docker”应该是2014年最火爆的技术之一,2015年将开启新的跨越。
Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为Docker Inc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。
Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。
在LXC的基础上,Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。
下面对比了Docker和传统虚拟化(KVM、XEN等)方式的不同之处,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的APP应用。
Docker虚拟化有三个概念需要理解,分别镜像、容器、仓库。
1) 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。
2) 容器:使用镜像常见的应用或系统,我们称之为一个容器。
3) 仓库:仓库是存放镜像的地方,分为公开仓库和私有仓库两种形式。
Docker虚拟化特点
跟传统虚拟化相比的优点:
1) 操作启动快
运行时的性能可以获得极大提升,管理操作(启动、停止、开始、重启等)都是以秒或者毫秒为单位的。
2) 轻量级虚拟化
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以部署100~1000个Containers容器。传统虚拟化,仅能虚拟10~20个虚拟机。
3) 开源免费
开源的、免费的、低成本的。由现代Linux内核支持并驱动。注:轻量的Container必定可以在一个物理机上开启更多的“容器”,注定比VMs要便宜。
4) 前景及云支持
正在越来越受欢迎,各大主流公司都在推动docker的快速发展,性能有很大的优势。
跟传统虚拟化比的缺点:
1) 目前知道的人比较少
2) 相关的技术资料欠缺
3) Go语言还没完全成熟
---恢复内容结束---