-
浅析docker实现思想
从虚拟化的种类和层级说起
- cpu虚拟化:可以模拟不同CPU,例如bochs
- 完全虚拟化:只能模拟同样CPU,但是可以执行不同系统,例如vmware
- 半虚拟化
- 硬件虚拟化:可以当作获得硬件加速的完全虚拟化
- 系统虚拟化:host和guest共享一样的内核,例如Openvz
- 语言沙盒:只能在语言的范围内使用
虚拟化的级别越偏底层,速度越慢,用户越难察觉到虚拟化的存在。 虚拟化的级别越偏上层,速度越快,用户越容易感知。也就是虚拟幻的包装,如何一个虚拟化完全包装底层,呈现给用户一个新的操作系统,那么用户会知道他用的什么吗?
- cpu虚拟化和完全虚拟化时,用户几乎可以阿不察觉到虚拟化的存在
- 半虚拟化时,guest内核必须存在补丁
- 系统虚拟化时,用户不能控制自己的内核
- 语言沙盒时,用户没有使用api的自由
-
浅析docker使用
docker是什么?
- 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案
Docker的初衷也就是将各种应用程序和他们所依赖的运行环境打包成标准的Container/image,进而发布到不同的平台上运行。 也是由go写成的轻量级容器 - Docker container和普通的虚拟机Image相比, 最大的区别是它并不包含操作系统内核
- 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案