发展&来源
Docker最初由dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache 2.0授权协议开源,主要项目代码在Github上维护。Docker项目后来加入了Linux基金会,并推动开发容器联盟(OCI)
Docker是基于Google公司的Go语音开发实现的,基于Linux内核的cgroup和namespace,以及AUFS类的Union FS等技术,对进程封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主机和其他隔离的进程,因此也成为容器。
Docker在容器基础上,进行了进一步的封装,从文件系统,网络互联到进程隔离等,极大简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻量便捷。
优势
相比于传统的虚拟机,Docker的优点有如下方面:
- 更高效的利用系统资源
- 更快速的启动时间
- 在不同的物理机上可以运行完全一致的环境(各种软件和环境)
- 扩展性更强

传统虚拟机所处的系统层级
**虚拟化 + 容器的组合 **
使用场景
Docker系统架构
Docker整体结构分为Clients, Hosts和Registries三大部分。Clients通过命令行或者其他工具使用API和Docker Daemon守护进程进行通讯,Docker主机Host是一个物理或者虚拟机,用于执行Docker守护进程;而Registries部分是Docker的仓库,类似代码仓库存储Docker的Image镜像。