从Docker容器访问SenseHat的操作返回:PermissionError:[Errno 13]权限被拒绝:'/ dev / input / event0'

时间:2019-01-13 15:34:51

标签: python-3.x docker raspberry-pi3

我正在尝试在Sense Hat上访问传感器数据并在其上显示一些文本。该代码在Docker容器中运行,并通过Azure IoT中心进行部署。

我希望this教程中的设置会起作用。 不幸的是,在调用SenseHat()时返回:

File "/usr/local/lib/python3.5/dist-packages/sense_hat/sense_hat.py", line 92, in __init__
self._stick = SenseStick()
File "/usr/local/lib/python3.5/dist-packages/sense_hat/stick.py", line 57, in __init__
self._stick_file = io.open(self._stick_device(), 'rb', buffering=0)
PermissionError: [Errno 13] Permission denied: '/dev/input/event0'

这表明无法从容器访问硬件... 此外,尝试以--privileged模式运行容器并不能解决问题。

上面链接中的相关设置似乎是:

"createOptions": "{\"HostConfig\":{\"Privileged\": true}}"

,并在Dockerfile.arm32v7中注释掉以下几行:

#RUN useradd -ms /bin/bash moduleuser
#USER moduleuser

我不确定还需要更改哪些内容以允许容器中的代码访问硬件...

感谢您的帮助!

0 个答案:

没有答案