进入docker容器查看cpuinfo为什么显示的是宿主机的信息呢?
在容器内使用top命令为什么也显示宿主机的信息?
docker本质是在进程的基础上引入namespace做隔离,引入unionfs做虚拟文件系统,引入资源配额做资源限制。
进入Docker容器查看cpuinfo显示的是宿主机的信息,是因为Docker容器并不是一个完整的虚拟机,它与宿主机共享同一个内核,因此在容器内查看cpuinfo时,会显示宿主机的信息。
同样地,使用top命令在容器内显示宿主机的信息,也是因为top命令是在容器内运行的,但是它获取的信息是从宿主机的/proc目录下获取的,因此会显示宿主机的信息。
Docker本质上是一个轻量级的虚拟化技术,它通过引入namespace实现了进程、网络、文件系统等方面的隔离,通过引入unionfs实现了虚拟文件系统,通过资源配额实现了资源限制。但是,Docker并不是一个完整的虚拟机,它与宿主机共享同一个内核,因此在某些情况下,容器内会显示宿主机的信息。