Integration · Deployment

OPC UA mit Docker verbinden

ProduktDocker
KategorieDeployment
OPC-UA-RolleClient und Server

Einen OPC-UA-Client oder -Server zu containerisieren funktioniert gut, mit einer Falle, in die fast jeder tappt: Das Anwendungsinstanzzertifikat liegt im PKI-Verzeichnis, ein nicht persistentes Volume erzeugt Ihre Identität also bei jedem Neustart neu und macht bei jedem Deploy die Vertrauensliste jeder Gegenstelle ungültig.

Bevor Sie starten

  • Ein persistentes Volume für das PKI-Verzeichnis. Das ist die gesamte Lehre dieser Seite.
  • Eine Entscheidung über Hostname und ApplicationUri des Containers, denn keines von beiden löst so auf wie auf einem Laptop.
  • Netzwerkerreichbarkeit vom Container zu Port 4840 auf den Servern, einschließlich einer etwaigen Host-Firewall auf dem Container-Host selbst.

Die Einrichtung

  1. Binden Sie das PKI-Verzeichnis auf ein benanntes VolumeWie Ihr Stack es auch nennt - ./pki, die Pfade des Security Configuration Store oder das Wurzelverzeichnis des Zertifikatsmanagers - binden Sie es ein. Die Identität des Containers liegt darin und muss einen Neustart überstehen.
  2. Setzen Sie die ApplicationUri explizitLassen Sie sie nicht auf etwas voreinstellen, das aus einem zufälligen Container-Hostnamen abgeleitet ist. Setzen Sie sie in der Konfiguration und stellen Sie sicher, dass derselbe Wert als URI-Eintrag im SAN des Zertifikats erscheint.
  3. Nehmen Sie jeden erreichbaren Namen in den SAN des Zertifikats aufDen Servicenamen des Containers, den DNS-Namen des Hosts und jede Adresse, die eine Gegenstelle tatsächlich anspricht. Ein Client, der die von ihm gewählte URL gegen den SAN vergleicht, interessiert sich nicht dafür, für welchen Namen der Container sich hält.
  4. Behandeln Sie die ZeitContainer erben die Uhr des Hosts. Eine verstellte Host-Uhr erzeugt Zertifikatszeit-Fehler bei vollkommen gültigen Zertifikaten, NTP auf dem Host ist also eine Sicherheitsmaßnahme.
  5. Weisen Sie den Neustartfall nach, bevor Sie ausliefernStarten Sie den Container, bauen Sie eine gesicherte Session auf, starten Sie den Container neu und bestätigen Sie, dass die Session wieder zustande kommt, ohne dass ein Administrator eine Vertrauensliste anfasst. Wenn nicht, ist Ihr Volume nicht dort eingebunden, wo Sie denken.
  6. Geben Sie für einen Server den richtigen Port freiEin containerisierter OPC-UA-Server braucht 4840 veröffentlicht, und die Endpunkt-URL, die er ankündigt, muss eine sein, die Clients auch erreichen können - nicht seine interne Container-Adresse.

Wie der Adressraum aussieht

Containerisierung ändert den Adressraum nicht. Was sie ändert, sind Identität und Erreichbarkeit: das Zertifikat, die ApplicationUri und die veröffentlichte Endpunkt-URL. Diese drei sind der gesamte Unterschied zwischen einem funktionierenden und einem verwirrenden Deployment.

Die Fallen

  • Ein nicht persistentes PKI-Volume ist der mit Abstand häufigste Fehler bei containerisiertem OPC UA. Das Symptom ist zermürbend: Es funktioniert, und nach jedem Deploy scheitert es mit einem Zertifikatsfehler, der wie eine Änderung auf der Serverseite aussieht.
  • Ein containerisierter Server, der in seiner Endpunktbeschreibung den internen Container-Hostnamen ankündigt, liefert Clients eine URL, die sie nicht auflösen können. Konfigurieren Sie den angekündigten Hostnamen ausdrücklich.
  • Eine abweichende Host-Uhr erzeugt Zertifikatszeit-Fehler, die wie Probleme mit dem Zertifikatsinhalt aussehen. Prüfen Sie die Uhr, bevor Sie ein Zertifikat neu erstellen.
  • Scratch- und Zwischendateien innerhalb des Containers sind in Ordnung, aber alles, was Sie behalten müssen - Zertifikate, Nodeset-Exporte, Konfiguration - braucht ein Volume.
  • Startet der Container unter einem Orchestrator häufig neu, ist jeder Neustart ein frischer Verbindungsaufbau zu jedem Server. Staffeln Sie den Start, sonst bauen Sie sich Ihren eigenen Verbindungssturm.

OEE-Daten daraus gewinnen

Direkt nichts - das ist Deployment-Infrastruktur. Für die OEE ist es nur in dem Sinne relevant, dass ein Collector, der bei jedem Deploy sein Vertrauen verliert, Lücken in Ihren Verfügbarkeitsdaten erzeugt, und eine Lücke in der Erfassung ist von Stillstand nicht zu unterscheiden, solange Sie die Collector-Gesundheit nicht separat aufzeichnen. Veröffentlichen Sie ein Collector-Online-Signal neben den Maschinendaten.

Prüfen, bevor Sie sich darauf verlassen:Der Inhalt des Basis-Images und die genauen Pfade der Zertifikatsspeicher unterscheiden sich je Stack und je Version. Klären Sie die Pfade für den Stack, den Sie containerisieren, statt sie aus einem anderen Projekt zu übernehmen.

Zuletzt geprüft am 7. September 2026 gegen OPC UA 1.05.07. OPC UA Connect ist ein unabhängiges Bildungsangebot und steht in keiner Verbindung zur OPC Foundation.

Kostenloser Download
OPC UA Machine Data → OEE Mapping Kit
Welche Knoten Sie abonnieren, wie daraus Verfügbarkeit, Leistung und Qualität werden und welche Companion Specification die Antwort schon liefert, damit Sie aufhören, Tags zu erfinden.
Kostenloses Mapping-Kit holen →
Kostenlos, kein Kurs, kein Login