云计算包括
- IaaS 基础设施即服务
- PaaS 平台即服务
- Saas 软件即服务
docker作为轻量级虚拟化方式,实现了PaaS平台的高效部署、运行和维护。
PaaS的核心技术之一就是虚拟化。虚拟化分为基于硬件的虚拟化和基于软件的虚拟化,后者分为应用虚拟化和平台虚拟化。VM(虚拟机)属于平台虚拟化。
Docker是PaaS提供商dotCloud开源的一个基于LXC(Linux Container)的高级容器引擎,基于go语言并遵从Apache2.0协议。
Docker的核心要素包括
- 镜像(Image)镜像是只读的,是容器的模板
- 容器(Container)容器是从镜像创建的运行实例
- 仓库(Registry) 保存镜像的仓库,有私有仓库和公共仓库
Docker和VM的区别:
- docker可以采用IPC机制进行通讯,如隧道、Sockets等,VM只能通过以太网方式通讯
- docker直接运行于宿主机内核上,VM运行的Hypervisor层之上;
- docker的性能要强于VM,资源占用少于VM。
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。
OpenStack与Docker集成的两种方式:
- Nova docker当做虚拟机来使用,无法完全发挥docker优势
- Heat 可以管理部署docker,更能发挥优势
网友评论