1.docker是什么。
开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
2.容器和虚拟机比较。
虚拟机:就是带环境安装的一种解决方案,就是在操作系统里面运行另外一套操作系统。缺点:占用资源,安装了硬件驱动+软件等一系列乱七八糟的东西。
容器虚拟化:对操作系统进行了隔离,有了容器只需要把软件运行所需要的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。
docker容器是在操作系统层面实现虚拟化,直接复用本地主机的操作系统,传统虚拟机则是硬件层面实现虚拟化,与传统的虚拟机相比,docker优势在于启动速度快,占用体积小。
3.docker为什么比虚拟机快。
docker有比虚拟机更少的抽象层,docker不需要像虚拟机那样实现硬件虚拟化,运行在docker容器上的程序直接使用实际物理机的硬件资源,因此在cpu、内存利用率上面有明显的优势。
docker利用的是宿主机的内核,不需要加载操作系统os内核 新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程也是分钟级别。而docker则是直接利用宿主机的操作系统,省略了返回过程,因此新建一个docker容器只要几秒钟。