Bei der Installation von NodeRed mit IOTstack im Docker Container auf einem Rasberry Pi Model B Rev 2 kann NodeRed nicht installiert werden. Es kommt der Fehler beim aufrufen des menu.sh Scriptes:
ERROR: Service ’nodered‘ failed to build: The command ‚/bin/sh -c for addonnodes in ; do npm install ${addonnodes} ;done;‘ returned a non-zero code: 139
Die Ursache ist, das das Model B eine ARMv6-compatible processor rev 7 (v6l) hat. Docker kann das nicht richtig erkennen, wie es hier steht. Was also tun?
Erst mal ein Issue aufmachen.
Lösung:
In der Datei ./services/nodered/Dockerfile in der 1. Zeile die Versionsnummer von NodeRed für den Armv6 angeben. So muss die Zeile heißen;
1 |
FROM nodered/node-red:1.1.3-12-minimal-arm32v6 |
Dann die manuelle Anpassung beim nächsten ausführen der menu.sh nicht wieder überschreiben, und schon startet NodeRed erfolgreich in Docker: