我正在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引脚进行交互。
谢谢,
迭戈
您需要在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为零,则不同。