如何理解VirtualBox,Vagrant,Docker这几种技术的关系

2025-03-30 06:46:46
推荐回答(1个)
回答1:

virtualbox 就是传统的虚拟机方式,直接在程序层面,模拟一个硬件环境,模拟环境内的程序和模拟的硬件环境做交互,再由虚拟机软件把模拟硬件的调用转换为外部程序指令去和硬件再交互来工作。vagrant 等于就是一个辅助工具,让你更好的制作 virtualbox 虚拟机里面的系统以及方便的与其交互等等工作。
docker 等于是脱离了 virtualbox 的虚拟机模拟硬件再转换成指令继续和真实硬件交互操作的额外步骤。应用程序直接就能使用自己所处计算机的真实硬件,运行效率更高。通过 docker 软件的隔离封装机制来让程序有自己独立的空间。
关系层面虚拟机和这种封装没啥共通点,但是也都是把程序独立出来运行的办法。你可以认为虚拟机靠模拟的硬件进行隔离操作,docker 是靠模拟一套函数接口进行隔离操作。