场景:
python调用serial获取端口,在宿主机内返回正常,在docker容器内返回为空,
执行代码如下:
from serial.tools import list_ports
port = list(list_ports.comports())
prot返回为空
解决办法:
在docker启动容器时,需要 加入参数:-v /dev/bus/usb:/dev/bus/usb --privileged
具体启动命令举例:
docker run -it -v /dev/bus/usb:/dev/bus/usb --privileged IMAGE_ID bash
解析:
--privileged 允许容器访问宿主机的设备
-v /dev/bus/usb:/dev/bus/usb 把宿主级的use连接设备共享到容器内

在Docker环境下,使用Python的serial模块尝试访问串口时,发现返回为空。问题在于容器缺少对宿主机USB设备的访问权限。解决方法是在启动Docker容器时添加参数`-v /dev/bus/usb:/dev/bus/usb --privileged`,这将使容器能够访问宿主机的USB设备,从而正常进行串口通信。
3913

被折叠的 条评论
为什么被折叠?



