Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误:EROFS:只读文件系统,打开'/sys/class/gpio/export';在Rpi Zero上,Docker上的节点为红色_Python_Node.js_Raspberry Pi_Node Red_Gpio - Fatal编程技术网

Python 错误:EROFS:只读文件系统,打开'/sys/class/gpio/export';在Rpi Zero上,Docker上的节点为红色

Python 错误:EROFS:只读文件系统,打开'/sys/class/gpio/export';在Rpi Zero上,Docker上的节点为红色,python,node.js,raspberry-pi,node-red,gpio,Python,Node.js,Raspberry Pi,Node Red,Gpio,为了使用Rpi led控制库(),我正在Rpi Zero上运行一个节点红色容器,但我无法使用它,因为我遇到以下错误: 错误:EROFS:只读文件系统,打开“/sys/class/gpio/export” 我当前正在以以下方式运行容器: docker run-d-p 1880:1880——组添加拨号——device=/dev/spidev0.0——device=/dev/spidev0.1——device=/dev/serial0——user=root——restart=always-e NODE

为了使用Rpi led控制库(),我正在Rpi Zero上运行一个节点红色容器,但我无法使用它,因为我遇到以下错误:

错误:EROFS:只读文件系统,打开“/sys/class/gpio/export”

我当前正在以以下方式运行容器:

docker run-d-p 1880:1880——组添加拨号——device=/dev/spidev0.0——device=/dev/spidev0.1——device=/dev/serial0——user=root——restart=always-e NODE\u OPTIONS=“--max\u old\u space\u size=256”——log opt max file=2——log opt max size=2k-e TZ=“Europe/Rome”布拉格区/NODE red:latest

我的Dockerfile如下所示:

FROM nodered/node-red:latest

USER root

RUN npm install node-red-node-serialport xbee-api node-red-contrib-xbee node-red-node-pi-gpiod node-red-contrib-telegrambot node-red-contrib-python-function node-red-node-twitter node-red-contrib-function-npm node-red-contrib-ibm-watson-iot onoff rpi-led-control node-red-contrib-play-audio

COPY ./config/settings.js /data/

RUN mkdir /cert

COPY ./cert/cert.pem /cert
COPY ./cert/key.pem /cert

RUN apk update && apk add py-pip \
        && pip install requests plotly --upgrade
我想做的是与节点红色容器中RPIzeroGPIO的SPI引脚交互

提前感谢,


Diego

您需要在docker运行期间从主机装载gpio文件/文件系统,如下所示:

docker run -d -p 1880:1880 
    -v /sys/devices/platform/soc/20200000.gpio:/sys/devices/platform/soc/20200000.gpio \
    -v /sys/class/gpio:/sys/class/gpio \
...
每个Rpi设备类型的确切文件名各不相同,如果Rpi为零,则会出现这种情况。

使用docker run为容器提供与主机上容器外部运行的进程几乎相同的主机访问权限:

docker run --privileged -d -p 1880:1880 --group-add dialout --device=/dev/spidev0.0 --device=/dev/spidev0.1 --device=/dev/serial0 --user=root --restart=always -e NODE_OPTIONS="--max_old_space_size=256" --log-opt max-file=2 --log-opt max-size=2k -e TZ="Europe/Rome" braghettos/node-red:latest