相关疑难解决方法(0)

Docker容器看不到串口设备

我正在尝试运行一个可以访问主机上串行端口的Docker容器.

这是我做的:

  • 我用过Mac
  • 主机上安装的驱动程序(http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41)
  • 插入设备
  • ls /dev/t*这回 /dev/tty.usbserial-因此它的工作
  • 跑到容器,docker run -it --privileged -v /dev:/dev node:4.4.0 /bin/bash然后ls /dev/t*在没有返回/dev/tty.usbserial设备的容器内...

我玩了很多参数的不同变化,但我还没找到工作的:)

--device标志也不适合我,因为设备可能会重新连接,名称可能不同/dev/tty.usbserial.

bash usb serial-port device docker

7
推荐指数
1
解决办法
3165
查看次数

udevadm不显示docker容器中的所有属性

当我在容器udevadm内部运行docker container并列出某些设备的属性时,只有该设备的基本信息.当我在主机上做同样的事情时,我可以看到更多.如何获取容器内的所有信息?

host$ udevadm info --query=property /dev/bus/usb/004/008
BUSNUM=004
DEVNAME=/dev/bus/usb/004/008
DEVNUM=008
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1
DEVTYPE=usb_device
DRIVER=usb
ID_BUS=usb
ID_MODEL=MCP2210_USB-to-SPI_Master
ID_MODEL_ENC=MCP2210 USB-to-SPI Master
ID_MODEL_ID=00de
ID_REVISION=0002
ID_SERIAL=Microchip_Technology_Inc._MCP2210_USB-to-SPI_Master_0000267472
ID_SERIAL_SHORT=0000267472
ID_USB_INTERFACES=:030000:
ID_VENDOR=Microchip_Technology_Inc.
ID_VENDOR_ENC=Microchip Technology Inc.
ID_VENDOR_FROM_DATABASE=Microchip Technology, Inc.
ID_VENDOR_ID=04d8
MAJOR=189
MINOR=391
PRODUCT=4d8/de/2
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=176769529274

host$ docker run -ti -v /dev/bus/usb/:/dev/bus/usb alpine sh
container# apk update
container# apk add eudev
container# udevadm info --query=property /dev/bus/usb/004/008
BUSNUM=004
DEVNAME=/dev/bus/usb/004/008
DEVNUM=008
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1
DEVTYPE=usb_device
DRIVER=usb
MAJOR=189
MINOR=391
PRODUCT=4d8/de/2
SUBSYSTEM=usb
TYPE=0/0/0
Run Code Online (Sandbox Code Playgroud)

我还尝试从host:/ sys,/ dev挂载其他卷.没有帮助.

编辑根据Alex P.的回答:

我对udev不太熟悉.我复制了这个

SUBSYSTEM=="usb", …
Run Code Online (Sandbox Code Playgroud)

udev docker

4
推荐指数
1
解决办法
2108
查看次数

标签 统计

docker ×2

bash ×1

device ×1

serial-port ×1

udev ×1

usb ×1