我在Ubuntu上运行一些二进制文件,控制着各种设备,比如板载/USB无线电/蓝牙芯片。有些芯片需要额外的驱动程序。
我的猜测是,仅仅将驱动程序安装到Docker镜像中还不够,主机操作系统必须具有这些驱动程序。这个说法正确吗?
如果是的话,如果主机已经拥有驱动程序,为什么Docker镜像还需要任何驱动程序呢?如何使Docker镜像正确地委派给主机?这些需不需要为每个驱动程序在每个主机操作系统上硬编码?
此外,从这个角度来看,与虚拟机相比,Docker需要更多或更少的硬编码吗?
我认为答案可能取决于设备如何呈现给Docker以及驱动程序必须在哪里运行(例如内核空间与用户空间)。
谢谢!
--device
或--privileged -v
将硬件的访问和并发使用委托给主机内核。我认为多个容器之间不应该存在同步问题。 - Javier Cortejoso