Docker容器无法看到串口设备

我正在尝试运行一个docker容器,以访问主机中的“serialport”。 这是我做的:

  • 我使用MAC
  • 在主机上安装驱动程序( http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41 )
  • 插入设备
  • 运行返回/dev/tty.usbserial ls /dev/t* – 所以它工作
  • 运行容器docker run -it --privileged -v /dev:/dev node:4.4.0 /bin/bash ,然后在容器里面的ls /dev/t*里面没有返回/dev/tty.usbserial设备…

我玩了很多不同的参数的变化,但还没有find工作之一:)另外, – 设备标志不适合我,因为该设备可能会重新连接,名称可能不同于/dev/tty.usbserial

您可以检查“ Docker 容器中的新USB设备通知 ”(来自Guido Diepen – gdiepen )中描述的脚本是否可以提供帮助。

他也使用--privileged参数运行他的容器,以允许它访问设备。 然后,在启动容器时,使用参数-v /dev/bus/usb:/dev/bus/usb将主机目录/dev/bus/usb挂载到容器内的/dev/bus/usb目录中。

该脚本使用inotifywaitlsusb等设备被(un)插入,并检查它是否是我们感兴趣的设备。

inotifywait将继续监听dev/bus/usb目录下的inode创build/删除事件,并且只要创build了与相关设备对应的inode ,就会执行命令。

另请参见,一旦检测到插入的USB设备,如何获取/dev/ttyUSB总线和设备关系(与/dev/ttyUSB无关,但仍相关)

Interesting Posts