Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Node-RED auf PLCnext mit Docker deployen: Schritt-für-Schritt-Anleitung

Ein Docker-Container kann einen Node-RED-Server auf einem PLCnext-Gerät betreiben. Zwar ist die andere Methode etwas schneller, doch OCI-Container bieten Vorteile: Bei wiederholter Nutzung derselben Pakete lässt sich ein Standard-Image bauen und von Docker Hub herunterladen. Docker erlaubt auch, den Node-RED-Server bedarfsgerecht zu starten und zu stoppen.

Dieser Blog erklärt: Docker-Installation prüfen, Custom-Image mit Dockerfile und vorinstallierten Paketen bauen, Container daraus erstellen, Autostart beim Boot konfigurieren, Image zu Docker Hub pushen.

Balena Engine installieren

Streng genommen nutzen wir nicht Docker, sondern die Balena Engine für OCI-Container (Open Container Initiative). Nomenklaturdetails sprengen den Rahmen – Links im Further-Reading-Bereich.

Installation ist einfach (vollständige Referenz hier), Befehle hier für Praktikabilität:

Als Root-User anmelden (neues Root-Passwort setzen):

sudo passwd root
su

Git-Repository klonen und hineinwechseln:

git clone https://github.com/PLCnext/Docker_GettingStarted.git
cd Docker_GettingStarted

Setup-Skript ausführbar machen und ausführen:

chmod +x setup.sh
./setup.sh

Internetzugriff für Container

Manchmal werden nft-Tables bei der Installation falsch gesetzt. Einfache Korrektur:

ifconfig

Interface balena notieren (Inet-Adresse, z. B. 172.17.0.1). Datei /etc/nftables/balena.nft prüfen – zweite Zeile muss mit ifconfig-Adresse übereinstimmen. Falls nicht: nano /etc/nftables/balena.nft anpassen. Dann Balena-Engine-Daemon neu starten:

/etc/init.d/balena stop
/etc/init.d/balena start

Erster Container

Node-RED-Container ohne Custom-Pakete herunterladen (Flags werden später erklärt). Wenn keine Custom-Pakete nötig: hier stoppen und Port 1880 des Controllers aufrufen.

balena-engine run -d -p 1880:1880 --name nodered --restart always nodered/node-red

Docker Hub

Das arm32v7/debian-Image kam von Docker Hub – Sammelstelle für Container-Images. Organisation arm32v7 erstellt Images für AXC F 2152-Architektur. nodered-Organisation hat kompatibles Image. Empfehlung: Docker-Hub-Account erstellen (fast unbegrenzte öffentliche Repos, ein privates Repo kostenlos). Spart viel Zeit.

Dockerfile

Ein Dockerfile ist das „Rezept“ für ein Docker-Image. Erste Zeile fast immer FROM (Basis-Image). Dann Image aufbauen – viele Befehle möglich, hier nur RUN. RUN führt Befehl im Container aus, den wir bauen. Beispiel SNMP-Paket: RUN npm install node-red-node-snmp.

Dockerfile erstellen (noch in SSH-Session auf AXC F 2152!):

nano Dockerfile

Inhalt:

FROM nodered/node-red:latest-minimal
RUN npm install node-red-node-snmp

Speichern (Strg+S), Beenden (Strg+X). Image bauen:

balena-engine build . --tag myimage

Erfolg: „successfully tagged“. Image anzeigen: balena-engine images.

Neues Image ausführen

Container interaktiv starten (-it = Terminal-Output im Container; -d = detached/Hintergrund):

balena-engine run -it -p 1880:1880 --name nodered myimage

Container verlassen und laufen lassen: Strg+P Strg+Q. Im Browser: IP des Controllers + Port 1880 → Node-RED-Umgebung mit SNMP-Paket.

Autostart beim Boot & Docker-Run-Flags

Manueller Start bei jedem Neustart unpraktisch. Docker kann Autostart konfigurieren. Flags verstehen:

Finaler Befehl:

balena-engine run -it -p 1880:1880 --name nodered --restart always myimage

Image zu Docker Hub pushen

Image auf anderen Controllern nutzen? Zu Docker Hub pushen. Voraussetzung: Account + Repository erstellt. Login:

balena-engine login

Image-Tag muss benutzer/repo lauten. Beim Bauen nicht so benannt? Re-taggen:

balena-engine tag myimage meinaccount/meinrepo
# oder mit Label
balena-engine tag myimage meinaccount/meinrepo:einlabel

Pushen:

balena-engine push meinaccount/meinrepo

Weiterführende Links & Referenzen

Industrietechnik

  1. Praktischer Leitfaden zu keramischem 3D-Druck: Techniken, Materialien, Design-Tipps
  2. Basisfarbstoffe (Basic Dyes) verstehen: Anwendungen, Sicherheit & Branchenanwendungen
  3. Industrielle Farbstoffe & Pigmente: Umfassender Leitfaden zu Anwendungen & Typen
  4. TJBot starten: Bauen, konfigurieren und per Sprache steuern
  5. Schritt-für-Schritt: RAK 831 LoRa Gateway auf Raspberry Pi 3 deployen
  6. LoRa-Gateway mit RAK831-Modul auf Raspberry Pi 3 bauen – Schritt-für-Schritt-Anleitung
  7. Nachhaltiger Erfolg: Lektionen in Beharrlichkeit von Abraham Lincoln und Instandhaltungsführung
  8. KI in der Versicherung: Ein praxisnaher Starter-Guide für die reale Umsetzung
  9. Arduino Einsteiger Tutorial #1: Erstes Projekt (Blink)
  10. Cat®-Maschinen optimieren: Der ultimative My.Cat.com-Leitfaden