错误:EROFS:只读文件系统,在Docker上使用Node-RED在Rpi Zero上打开'/ sys / class / gpio / export'

问题描述 投票:2回答:1

我正在Rpi Zero上运行Node-RED容器,以便使用rpi-led-control库(https://www.npmjs.com/package/rpi-led-control,但由于出现此错误而无法使用它:

Error: EROFS: read-only file system, open '/sys/class/gpio/export'

我目前正在以这种方式运行容器:

docker run -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

我的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

我想做的是与Node-RED容器中的Rpi Zero GPIO的SPI引脚进行交互。

谢谢,

迭戈

python node.js raspberry-pi node-red gpio
1个回答
0
投票

您需要在docker run期间从主机挂载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为零,则不同。

© www.soinside.com 2019 - 2024. All rights reserved.