有许多答案更详细地解释了这些差异,但这里是我非常简短的解释。
一个重要的区别是 虚拟机使用单独的内核来运行操作系统 .这就是它很重并且需要时间引导的原因,会消耗更多的系统资源。
在Docker中,容器共享内核 和主人在一起;因此,它重量轻,可以快速启动和停止。
在虚拟化中,资源是在设置开始时分配的,因此,当虚拟机在很多时候处于空闲状态时,资源没有得到充分利用。 在Docker中,容器没有分配固定数量的硬件资源,可以根据需求自由使用资源,因此具有高度可扩展性。
Docker使用 联合文件系统 …Docker使用写时拷贝技术来减少容器消耗的内存空间。 Read more here