一、什么是Docker?

// 1.docker定义 鲸鱼通过身上的集装箱来将不同种类的货物进行隔离;而不是通过生出很多小鲸鱼来承运不同种类的货物。 // 2.docker优点 docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器中,也可以实现虚拟化 容器完全使用沙箱机制,相互之间不会有任何接口,更重要的容器性能开销极低。

docker和虚拟机的对比

docker 虚拟机
运行环境 docker构建在操作系统上,所以docker甚至可以在虚拟机上运行 虚拟化技术依赖物理CPU和内存,是硬件级别的
隔离性 docker属于进程之间的隔离 虚拟机可实现系统级别隔离
安全性 docker的租户root和宿主机root等同,一旦容器内的用户从普通权限提升为root权限,他就直接具备了宿主机的root权限,进而无限制的操作。所以,docker的安全性也更弱 虚拟机租户root权限和宿主机的用户权限是分离的,并且虚拟机利用硬件隔离;这种隔离技术可以防止虚拟机突破彼此和彼此的交互,所以,虚拟机的安全性高
可管理性 docker的集中化管理工具还不算成熟 各种虚拟技术都有成熟的管理工具,例如:VMware vCenter提供完备的虚拟机管理能力
快速创建、删除 docker容器创建是秒级别的,docker的快速迭代性,决定了无论是开发、测试、部署都可以节约大量的时间 虚拟化创建是分钟级别的
交付、部署 Docker在dockerfile中记录了容器构建的过程,可在集群中实现快速分发和快速部署 虚拟机可以通过镜像实现环境交付的一致性,但镜像分发无法体系化