我有一些运行在ubuntu上的二进制文件,可以控制各种设备,比如车载/usb、wifi/蓝牙芯片。一些芯片需要额外的驱动程序。
我的猜测是,仅仅将驱动程序安装到坞映像是不够的,主机操作系统必须有驱动程序。这是正确的吗?
如果是的话,如果主机已经这样做了,为什么码头映像需要任何驱动程序呢?对接图像如何正确委托主机?是否需要对每个主机操作系统上的每个驱动程序进行硬编码?
此外,从这个角度来看,对接器是否需要比VM更多或更少的硬编码?
我觉得答案可能取决于设备是如何呈现给对接者的,以及驱动程序必须在哪里运行(例如内核空间与用户空间)。
谢谢!
发布于 2015-02-21 12:31:00
它将取决于设备和驱动程序。大多数驱动程序都需要内核的一些支持,在这种情况下,主机内核必须提供功能。驱动程序的某些功能、依赖库和应用程序可以在用户空间中实现(例如,包libusb、usbutils.)你的容器应该安装这些包。而且,在运行容器时,必须显式地指示Docker来映射容器中的设备(any /dev/*)。你有两个选择:
docker run与选项--device一起使用docker run将设备映射为特权模式--privileged=true中的卷(选项-v)https://stackoverflow.com/questions/28641128
复制相似问题