docker 中容器的设备映射缺少信息

Device mapping to container in docker lacks info

我有一个 Ubuntu VM,其中安装了一些虚拟存储设备,我也想将它们映射到 docker 容器 运行。所以我详细介绍了整个事情,挂载点和'/dev'。设备确实在容器中得到识别,但由于某种原因,容器内的 lsblk -o SERIAL 没有 return 任何东西,而在 VM 中它可以。 此外,运行 容器内的 python pyudev 库功能,我也没有得到设备的型号(在 VM 中我得到了完整信息)。

任何人都可以阐明为什么会发生这种情况? 谢谢!

经过一些调查,发现 smartmontools 库中的 smartctl 解决了问题 (apt-get install smartmontools)。 Returns 设备的型号和序列号,来自 docker 容器内部,而不是 lsblklshw

当我使用 python 查询设备信息时,smartctl 的适当包装器库是 pySMART (pip install pySMART)。很有魅力。