Docker是基于Go语言实现的开源容器项目。它诞生于2013年,最初的发起者是dotCloud公司。2013年底dotCloud公司Docker lnc。目前已成为全球最大的Docker容器服务提供商。
官网为:docker.com
docker项目已加入linux基金会,遵循Apache 2.0协议,励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。全部源代码在:http://githup.com/docker维护。
Docker扶持各大主流linux版本、MAC OS、windows.。
可以将docker理解为一个轻量级的沙盒。每个容器内运行着一个应用,不同容器相互隔离,容器之间也可以通过网络通信。且对系统资源的需求远无低于虚拟化。
跟传统虚拟化相比,docker最大的优势在于,除了运行在其中的应用外,本身几乎不消耗系统资源。
Docker和传统虚拟之比较:
性能指标 | Docker | 虚拟化 |
启动速度 | 秒级 | 分钟级 |
性能 | 接近原生 | 相关较弱 |
内存代价 | 很少 | 较多 |
硬盘代价 | 一般为MB级别 | 一般为GB级别 |
运行密度 | 单机支持上千个容器 | 一般最多几十个 |
隔离性 | 完全隔离 | 完全隔离 |
迁移性 | 优秀 | 一般 |
Docker属于操作系统虚拟化,即内核通过创建多个虚拟的操作实例来隔离不同的进程。
传统虚拟化和Docker的架构:
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟化管理程序和虚拟机操作系统;
Docker是在操作系统层面实现虚拟化,直接复用宿主机的操作系统,更加轻量。
未完待续........