Container-Management im IIoT: Portainer und Portainer-Agent in der Industrie
Autor
Ueli Iff
Veröffentlicht
Lesezeit
8 Min.

Wer in einer Industrieumgebung mehrere Docker-Container ueber verteilte Geraete hinweg betreibt, kennt das Problem: Jedes IoT-Gateway und jede Steuerung muss einzeln per SSH gewartet werden. Portainer loest das, indem es eine zentrale Verwaltungsoberflaeche bereitstellt. In diesem Beitrag installiere ich Portainer auf einem Industrie-Computer und den Portainer-Agent als Container auf IoT-Gateways und IoT-Steuerungen. Dadurch lassen sich Container wie NodeRED oder ein MQTT-Broker zentral ausrollen, ohne dass ein direkter Zugriff auf die untergeordneten Geraete noetig ist.
Portainer und Portainer-Agent ermoeglichen die zentrale Verwaltung und Ueberwachung von Container-Plattformen in verteilten Industrieumgebungen, auch innerhalb verschluesselter Netze.
Warum Portainer in der Industrie
Durch die Integration des Portainer-Agents koennen Entwickler und Administratoren Container-Plattformen in einer verteilten Umgebung zentral verwalten und ueberwachen. Das verbessert die Effizienz, weil Container schnell und sicher ausgerollt werden, ohne sich auf jedem einzelnen Geraet anmelden zu muessen. Insbesondere in einer verschluesselten Umgebung ist dieser Vorteil erheblich.
Ein weiterer Pluspunkt ist die Skalierbarkeit: Container lassen sich auf Knopfdruck erweitern, sodass Unternehmen schnell auf Aenderungen reagieren und ihre Anwendungsentwicklung in der Industrie optimieren koennen. Die benutzerfreundliche Oberflaeche erlaubt es, Container einfach zu erstellen, zu verwalten und zu ueberwachen.
Grundvoraussetzung fuer Portainer
Damit die folgenden Schritte funktionieren, muss Portainer als Docker-Container auf dem System installiert sein. Ist noch keine Docker Engine vorhanden, muss diese im Voraus installiert werden.
Hinweis zu Portainer CE
Um die Agents in Portainer zu integrieren, verwende ich in diesem Tutorial die Business-Edition von Portainer. Wer Portainer lediglich nutzen moechte, um eigene Docker-Container zu verwalten, kommt mit Portainer CE aus.
Aufbau der Anleitung
Die Anleitung ist in drei Schritte unterteilt. Im ersten Schritt wird der Portainer-Agent auf meiner IoT-Steuerung und auf dem IoT-Gateway installiert, die beide mit u-OS ausgestattet sind. Dieser Schritt laesst sich auf beliebigen Geraeten durchfuehren.
Im zweiten Schritt installiere ich den Portainer-Server als Docker-Container auf meinem Ubuntu-Server. Als Hostsystem dient dabei ein Industrie-Computer.
Im dritten Schritt verbinde ich die mit dem Portainer-Agent ausgestattete IoT-Steuerung mit der Server-Instanz von Portainer. Dadurch lassen sich saemtliche Container ueber den Ubuntu-Server mithilfe der Container-Visualisierung von Portainer verwalten. Das ist besonders effizient, wenn mehrere mit dem Portainer-Agent ausgestattete Geraete integriert werden sollen.
Oben sehen Sie meinen Testaufbau an der Testwand. Weil der Aufbau etwas unuebersichtlich wirkt, habe ich die folgenden Grafiken uebersichtlicher gestaltet, damit sie besser verstaendlich sind.
Schritt 1: Portainer-Agent installieren
Portainer verwendet den Portainer-Agent-Container, um mit der Portainer-Server-Instanz zu kommunizieren und Zugriff auf die Ressourcen des Knotens zu ermoeglichen. Dieser Teil der Anleitung erlaeutert, wie Sie den Portainer-Agent auf Ihrem u-OS-Geraet installieren und eine Verbindung zur Portainer-Server-Instanz herstellen.
Zunaechst muessen Sie den SSH-Zugriff auf u-OS aktivieren. Oeffnen Sie dazu den Webserver von u-OS, indem Sie die IP-Adresse Ihres u-OS-Geraets im Browser eingeben und sich anmelden. Anschliessend oeffnen Sie das u-OS Control Center.
Identity & Access. Klicken Sie auf den Menuepunkt Identity & Access.
SSH Access. Waehlen Sie SSH Access aus.
Enable SSH Access. Klicken Sie auf Enable SSH Access, wie in Schritt 3 visualisiert.
Nach der Aktivierung des SSH-Zugriffs koennen Sie den Portainer-Agent installieren. Verbinden Sie sich dazu ueber SSH mit u-OS. Oeffnen Sie ein Terminal und verwenden Sie den folgenden Befehl mit dem Benutzernamen und der IP-Adresse Ihres u-OS-Geraets:
1ssh <user von u-OS>@<IP-Adresse von u-OS>2ssh iotueli@192.168.15.250
Verwenden Sie den Benutzernamen, den Sie bei der Erstellung von u-OS festgelegt haben. Anschliessend werden Sie aufgefordert, das Anmeldepasswort von u-OS einzugeben, das Sie waehrend der Erstellung festgelegt haben.
Portainer-Agent dynamisch (IoT-Anwendung)
Um diesen Teil auszufuehren, muessen Sie zuerst Schritt 3 weiter unten durchfuehren und danach hierher zurueckkehren. Setzen Sie diesen Abschnitt fort, nachdem Sie Schritt 2 erfolgreich abgeschlossen haben.
Auf meinem Portainer-Webinterface ist der Bereich Edge Compute hinzugekommen. Diesen Bereich aktivieren wir nun auch bei Ihnen und fuehren die weiteren Schritte durch, damit sich Ihr Portainer-Agent automatisch in den Portainer-Server integriert. Diese Vorgehensweise ist besonders fuer IoT-Anwendungen geeignet.
Die Aktivierung von Edge Compute ist einfach und schnell erledigt:
Settings. Navigieren Sie zum Menuepunkt Settings.
Edge Compute. Oeffnen Sie den Menuepunkt Edge Compute.
Aktivieren und speichern. Aktivieren Sie die markierten Schalter-Buttons und klicken Sie auf Save settings.
Nachdem Sie die Einstellungen gespeichert haben, wird die Seitennavigation um Edge Compute erweitert. Bleiben Sie auf diesem Menuepunkt, denn als Naechstes folgt ein weiterer Schritt. Scrollen Sie nach unten bis zum Punkt Automatic Edge Environment Creation und fuehren Sie die folgenden Schritte aus:
Edge-ID-Generator. Der Edge-ID-Generator erlaubt es, einen Befehl auf dem Client-Geraet auszufuehren, um beispielsweise den Hostnamen als ID zu verwenden. In diesem Fall nutzen wir den Hostnamen als ID.
Client-Hostsystem. Waehlen Sie das Client-Hostsystem aus. In diesem Fall handelt es sich um Linux-Systeme.
Docker Standalone. Fuer die Installation auf Ihrem IoT-Gateway oder Ihrer IoT-Steuerung waehlen Sie Docker Standalone.
Installationsbefehl kopieren. Es wird ein Installationsbefehl fuer den Portainer-Agent generiert. Klicken Sie auf Copy, um ihn zu kopieren. Wir benoetigen ihn fuer die Installation auf Ihrem Geraet.
Melden Sie sich nun ueber SSH auf Ihrem IoT-Gateway oder Ihrer IoT-Steuerung an. Stellen Sie dem kopierten Installationsbefehl das Kommando sudo voran und fuehren Sie ihn aus. Der Portainer-Agent wird jetzt auf Ihrem System installiert; dieser Vorgang kann einige Minuten dauern.
Sieht nach der Installation alles wie auf dem Bildschirmausschnitt aus, war die Installation erfolgreich. Kehren Sie zum Webinterface von Portainer zurueck und schliessen Sie das SSH-Terminal. Im Webinterface fuehren Sie nun die folgenden Schritte durch:
Waiting Room. Oeffnen Sie in der Seitennavigation den Punkt Waiting Room. Hier wird Ihnen das IoT-Gateway bzw. die IoT-Steuerung aufgelistet.
Wenn Sie den Portainer-Agent beispielsweise auf 10 Geraeten installiert haben, werden diese hier alle aufgelistet. Nun fuegen wir das Geraet zu Portainer hinzu:
Geraet selektieren. Waehlen Sie das Geraet aus.
Associate Device. Klicken Sie auf Associate Device. Das Geraet wird jetzt hinzugefuegt und das Bild aendert sich entsprechend.
Um eine Uebersicht ueber alle hinzugefuegten Geraete zu erhalten, oeffnen Sie die Seitennavigation Home und klicken auf das hinzugefuegte Geraet. Jetzt koennen Sie saemtliche Docker-Container auf dem hinzugefuegten Geraet verwalten.
Portainer-Agent statisch installieren
Um den Portainer-Agent-Container statisch zu installieren, kopieren Sie das folgende Codebeispiel in Ihr Terminal und bestaetigen Sie mit der Eingabetaste:
1sudo docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:latest
Sobald die Installation abgeschlossen ist, sollte der Portainer-Agent erfolgreich auf Ihrem System laufen. Sie koennen die erfolgreiche Installation ueberpruefen, indem Sie alle installierten Container auflisten:
1sudo docker ps -a
Sie sehen nun eine Liste aller Docker-Container auf Ihrem System, einschliesslich des gerade installierten Portainer-Agents. Suchen Sie nach dem Container-Namen, der normalerweise portainer/agent lautet. Wird der Container aufgelistet, wurde der Portainer-Agent erfolgreich installiert und laeuft auf Ihrem System.
Schritt 2: Portainer-Server installieren (Linux)
In diesem Schritt installieren wir die Portainer-Server-Instanz auf einem Industrie-Computer. Voraussetzung ist, wie bereits erwaehnt, dass die Docker-Engine bereits installiert wurde. Kopieren Sie den folgenden Befehl und fuehren Sie ihn auf dem Hostsystem aus, auf dem Sie die Portainer-Server-Instanz betreiben moechten:
1sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always \2-v /var/run/docker.sock:/var/run/docker.sock \3-v portainer_data:/data \4portainer/portainer-ee:latest
Nach Ausfuehrung des Befehls wird das Portainer-Image heruntergeladen und installiert. Mit dem folgenden Befehl ueberpruefen Sie, ob der Container ordnungsgemaess integriert und gestartet wurde:
1sudo docker ps
Portainer sollte jetzt in der Liste aufgefuehrt sein. Oeffnen Sie nun den Portainer-Webserver, indem Sie folgende Adresse in Ihrem Webbrowser eingeben: https://ip-adresse:9443. Dadurch wird die Registrierungsseite von Portainer geoeffnet.
Erstellen Sie auf der Registrierungsseite einen Administratorbenutzer. Nach erfolgreicher Anmeldung koennen Sie weitere Benutzer mit unterschiedlichen Rechten und Rollen anlegen.
Die Business Edition von Portainer laesst sich kostenlos nutzen. In der kostenlosen Version ist die Integration auf 5 Portainer-Agents beschraenkt, was fuer Tests und die meisten Privatanwender ausreichend ist.
Registrieren Sie sich bei Portainer, um einen Lizenzschluessel zu erhalten. Fuellen Sie die erforderlichen Informationen aus; sofort nach erfolgreicher Registrierung erhalten Sie einen Lizenzschluessel, den Sie anschliessend eintragen. Damit haben Sie den ersten Schritt abgeschlossen und koennen die Portainer Business Edition nutzen.
Schritt 3: Portainer-Agent mit dem Portainer-Server verbinden
In diesem Abschnitt verbinden wir das IoT-Gateway und die IoT-Steuerung, auf denen der Portainer-Agent-Container installiert ist, mit dem Portainer-Server auf dem Industrie-Computer. So lassen sich die Container auf diesen Geraeten ueber den Portainer-Server verwalten.
Oeffnen Sie zunaechst den Portainer-Server im Browser und melden Sie sich an. Klicken Sie dann in der linken Seitenleiste auf Environments und anschliessend oben rechts auf Add Environments. Waehlen Sie die Variante Docker Standalone aus, wie in Schritt 1 markiert, und klicken Sie auf Start Wizard, um den Integrationsprozess zu starten.
Waehlen Sie nun Agent aus und definieren Sie einen Namen fuer das Geraet. Tragen Sie die IP-Adresse des Geraets und den Port 9001 ein und klicken Sie auf Connect. Der Agent sollte sich jetzt erfolgreich mit dem Portainer-Server verbinden, sodass Sie die Container auf dem Geraet ueber den Portainer-Server verwalten koennen.
Nach erfolgreicher Integration sollte das Geraet unter der Rubrik New Environments aufgelistet sein. Klicken Sie anschliessend auf den Home-Button, wie in Schritt 2 dargestellt, um zur Portainer-Homepage zurueckzukehren. Dort werden alle Environments aufgelistet, die mit dem Portainer-Server verbunden sind. Waehlen Sie ein beliebiges Environment per Klick auf den entsprechenden Namen aus.
Nach der Auswahl gelangen Sie zur Uebersichtsseite, auf der alle Docker-Container und Services des jeweiligen Geraets aufgelistet sind. Von hier aus verwalten Sie die Container, etwa indem Sie neue Container erstellen, vorhandene starten, stoppen oder entfernen und die Container-Logs anzeigen.
Fazit
Portainer in Kombination mit dem Portainer-Agent bietet eine benutzerfreundliche und zuverlaessige Loesung fuer das Container-Management in verteilten Industrieumgebungen. Docker-Container auf IoT-Gateways und IoT-Steuerungen mit u-OS lassen sich zentral und sicher ausrollen, ueberwachen und skalieren, ohne dass ein direkter Zugriff auf jedes einzelne Geraet noetig ist. Gerade fuer IIoT-Szenarien mit vielen verteilten Knoten ist das ein erheblicher Effizienzgewinn.

Virtuelle Maschinen vs. Docker — der Unterschied einfach erklärt
Virtuelle Maschinen oder Docker-Container? Architektur, Unterschiede (Grösse, Startzeit, Isolation) und wann sich was lohnt — verständlich mit Grafiken erklärt.

Lokales LLM-Setup mit Proxmox & GPU für KMU und Gemeinden
KI lokal betreiben — ohne Cloud, ohne Datenweitergabe. Mein praxiserprobtes LLM-Setup mit Proxmox, GPU, OpenWebUI und RAG für KMU und Gemeinden.

Tailscale-Client in Docker unter u-OS für sicheren Fernzugriff
Schritt-für-Schritt: Tailscale-Client in Docker unter u-OS einrichten — sicherer Fernzugriff auf Industriesteuerungen ohne offene Ports.
