背景 我们知道虚拟机和docker容器中的进程都可以在独立的空间中运行,互不干扰,那么两者主要区别是什么呢 虚拟机和docker容器的区别 虚拟机主要是通过硬件模拟出来一个个操作系统,每个操作系统有自己的的文件和目录,网络设备等,是通过硬件的模拟技术实现的 docker容器主要是通过对普通的进程施加了障眼法,也就是各种Namespace限制,包括PID NS,Moute Ns,NetWork Ns等,让docker run创建出来的进程只看到分配给他的文件和目录,自己的PID,而完全看不到宿主机上的其他进程以及其他docker 容器进程,让进程以为整台宿主机都是自己的