一、Docker产生背景以及历史
众所周知,Linux在早已存在LXC(Linux Container)的概念。LXC即系统默认利用namespace和cgroup实现的轻量级虚拟化机。LXC利用namespace实现类似于虚拟机的分隔,利用cgroup实现资源分配。现在流行的容器引擎有docker和rocket,其中出名的则为docker。docker公司发展是有dotCloud公司内部项目演化而来。
![](https://i-blog.csdnimg.cn/blog_migrate/46ab3329b255990c0fbb658ff9ebeb76.png)
可以理解,docker就是一款容器引擎,利用其相关的工具实现容器、镜像的管理和应用。
![容器生态](https://i-blog.csdnimg.cn/blog_migrate/e4d112011b564d7be83568968495e554.png)
由上图可见,容器生态十分丰富,从最底层的物理硬件,到虚拟化的云平台,到操作系统,到容器引擎,到编排服务工具以及开发流等。完整的容器生态将给整个云生态带来各个层面的改变,更加快捷、高效、省心的运维等。
![](https://i-blog.csdnimg.cn/blog_migrate/4228520f94da30efd0cf860ccbd13e43.png)
容器是一种轻量级的虚拟化技术,那么与传统虚拟机的区别呢?
由上图可见,左图虚拟机的Guest OS层和Hypervisor层在docker中被Docker Engine层所替代。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整操作系统内核;虚拟机的Hypervisor层可以简单理解