Konfigurieren von Docker-Images über Umgebungsparameter
Zum Anpassen des Simplifier-Containers ( simplifierag/simplifier) stehen folgende Optionen zur Verfügung:
Docker-Umgebungsparameter | Standardwert | Beispielwert | Beschreibung |
DB |
MySQL | RDBM-Typ für die Haupt-Simplifier-Datenbank und die Plugin-Datenbanken.
Unterstützte Werte sind “mysql” und “oracle” |
|
MYSQL_HOST |
simplifier-mysql.example.com | Hostname des Datenbankservers für die Simplifier-Hauptdatenbank | |
MYSQL_PORT |
3306 | 3306 | Portierung des Datenbankservers für die Hauptdatenbank von Simplifier |
MYSQL_USER |
Vereinfacher | Benutzername der Datenbankverbindungsdaten für die Hauptdatenbank von Simplifier | |
MYSQL_PASSWORD |
MyC0mPle! Pa$$word | Passwort der Datenbankverbindung Zugangsdaten für die Hauptdatenbank von Simplifier | |
MYSQL_DB |
Vereinfacher | Datenbankname für die Haupt-Simplifier-Datenbank, die als Präfix für Plugin-Datenbanken verwendet wird | |
MONITORING_DBMS |
MySQL | Als Monitoring-Datenbank wird nur mysql unterstützt | |
MONITORING_DB |
Datenbankname für die Überwachungsdatenbank | ||
MONITORING_DB_HOST |
Hostname des MySQL-Servers für die Monitoring-Datenbank | ||
MONITORING_DB_USER |
Benutzername für die Monitoring-Datenbank | ||
MONITORING_DB_PASS |
Passwort für die Monitoring-Datenbank | ||
MONITORING_DB_PORT |
Port für die Monitoring-Datenbank | ||
MONITORING_DB_JDBC_URL |
Alternativ zu den Einzelwerten können Sie eine vollständige jdbc-URL angeben, um eine Verbindung zur Überwachungsdatenbank herzustellen | ||
PLUGINLIST |
jsonStore,keyValueStorePlugin | Kommagetrennte Listen von Plugins, die gestartet werden sollen | |
VIRTUAL_HOST |
mysimplifier.mycompany.de | DNS-Name des Vereinfachers | |
JVM_PARAMETER |
-Xmx16g-Xms2g-XX:MaxMetaspaceSize=512m-XX
:+VerwendenG1GC-XX :+VerwendenStringDeduplizierung-XX :-VerwendenGCOverheadLimit-Xss256m |
JVM-Einstellungen für den Simplifier-Dienst | |
CLUSTER_MEMBER_NAME |
NODE_1 | Wenn gesetzt, Name des Clustermitglieds des Vereinfachungsservers, sonst ignoriert | |
JMX_AGENT |
Wahr oder Falsch | ||
FIREBASE_SETTINGS_PATH |
Dateipfad zum Konfigurieren eines benutzerdefinierten Firebase-Kontos, das für Push-Benachrichtigungen verwendet wird | ||
ENV_STATISTICS_EVENT_WRITTEN_BUFFER_HOURS |
Anzahl der Stunden, die als Puffer für die statistische Aggregation verwendet werden. | ||
FEATURE_SSBO_JS_DEBUGGING |
FALSCH | Wahr oder Falsch
Wenn diese Option auf true gesetzt ist, wird die experimentelle Funktion zum Debuggen serverseitiger Geschäftsobjekte aktiviert. Verfügbar seit Release 8 EHP 2 |
|
FEATURE_LEGACY_OPCUA |
FALSCH | Wahr oder Falsch
Wenn diese Option auf true festgelegt ist, ist der ältere OPC UA-Konnektor in der Konnektorübersicht verfügbar. Verfügbar seit Release 8 EHP 2 |
|
SYSADMIN |
FALSCH | Wahr oder Falsch
Wenn der Wert auf true gesetzt ist, wird der sysadmin ipc-Kanal geöffnet. Einige Admin-Aufgaben können dann über die CLI gestartet werden |
|
DEBUG_CHROME_DEV_TOOLS_EXPOSED_HOST |
Wenn FEATURE_SSBO_JS_DEBUGGING auf true festgelegt ist, muss dies auf den Domänennamen festgelegt werden, der für das Debuggen verwendet wird. In den meisten Fällen ist dies der gleiche Wert wie VIRTUAL_HOST | ||
DEBUG_CHROME_DEV_TOOLS_EXPOSED_PORT |
Nr. 2992 | Wenn FEATURE_SSBO_JS_DEBUGGING auf true festgelegt ist:
Der optionale verfügbar gemachte Port, der zum Generieren des Links Chrome Dev-Tools verwendet wird. |
|
DEBUG_CHROME_DEV_TOOLS_PORT |
Nr. 2992 | Wenn FEATURE_SSBO_JS_DEBUGGING auf true festgelegt ist:
Der Port, der für die Chrome Dev-Tools geöffnet ist, um eine Verbindung herzustellen. |
Zum Anpassen des Workflow Runtime Containers (simplifierag/workflow-runtime) stehen folgende Optionen zur Verfügung:
Docker-Umgebungsparameter | Standardwert | Beispielwert | Beschreibung |
DB_USER |
Vereinfacher | Benutzername für den Zugriff auf die Workflow Runtime-Datenbank | |
DB_PASS |
Vereinfacher | Kennwort für den Zugriff auf die Workflow Runtime Datenbank | |
DB_DATABASE |
simplifier_wf_rt | Name der Workflow-Runtime-Datenbank | |
DB_HOST |
MySQL | Hostname des MySQL-Datenbankservers | |
DB_PORT |
3306 | 3306 | Portnummer des MySQL-Datenbankservers |
SIMPLIFIER_HOST |
mein-simplifier | Interner Container-Name des Simplifier-Servers | |
SECOND_SEED |
mein-launchpad | Interner Container-Name des Simplifier Launchpad Containers | |
MODULE_HOST |
my-workflow-runtime | Container Name dieses Workflows Runtime Container | |
JVM_PARAMETER |
-Xmx1g | JVM-Heap-Speicherplatz für die Workflow-Laufzeit – Standard 1 GB | |
TZ |
Europa/Berlin | Tatsächliche Zeitzone, um die korrekte Serverzeit sicherzustellen | |
ARCHIVE_ENABLED |
STIMMT | Aktivieren Sie die Archivierungsjobs für Workflow-Laufzeitprotokolle | |
ARCHIVE_INTERVAL |
1 Woche | 1 Woche | Zeitraum, der definiert, wie oft der Archivierungsjob ausgeführt werden soll |
ARCHIVE_TIME |
14:00 | 14:00 | Tageszeit, zu der der Job ausgeführt werden soll |
ARCHIVE_MAX_AGE_COMPLETED |
6 Monate | 6 Monate | Dauer nach der automatischen Archivierung einer abgeschlossenen oder beendeten Workflow-Instanz |
SIMPLIFIER_LAUNCHPAD_BASE_URL |
https://my-simplfiier.company.org | Vollständiger externer Zugriff auf die URL zum Simplifier Posteingang / Launchpad. Standardmäßig ist dies identisch mit der öffentlichen URL des Simplifiers |
|
MAX_ACTIVITY_EXECUTION_COUNT |
1000 | 1000 | Verfügbar seit Release 8 EHP 1
Maximale Anzahl von Ausführungen für dieselbe Aktivität pro Workflow-Instanz (Endlosschleifen-Trennschalter)
|
DATABASE_MAX_CONNECTIONS |
100 | 100 |
Verfügbar seit Release 8 EHP 1
Maximale Anzahl von Datenbankverbindungen.
Erhöhen Sie diesen Standardwert, wenn der Simplifier-Support dies empfiehlt. |
DATABASE_THREADS |
20 | 20 |
Verfügbar seit Release 8 EHP 1
Maximale Anzahl von Datenbankthreads.
Erhöhen Sie diesen Standardwert, wenn der Simplifier-Support dies empfiehlt. |
DATABASE_QUEUE_SIZE |
1000 | 1000 | Verfügbar seit Release 8 EHP 1 Maximale Größe der Datenbankwarteschlange |
Die folgenden Plugins sind im Docker-Image simplifier enthalten
Name | Beschreibung | Dokumentation |
keyValueStorePlugin |
No-SQL-Datenbank zum Speichern von Schlüsselwerten | KeyValueStore |
pdfPlugin |
PDF-Designer und -Generator für Formulare oder Berichte | PDFPlugin |
wordGeneratorPlugin |
Wortgenerator | |
captcha |
Generiert Captchas für den Login-Schutz | Mütze |
contentRepoPlugin |
Meta-Repository für Dateien | InhaltRepository |
jsonStore |
NoSQL-Datenbank basierend auf MapDB | jsonStore |
Bei der Datenübertragung zwischen vernetzten Systemen ist Vertrauen ein zentrales Anliegen.
Insbesondere bei der Kommunikation über ein nicht vertrauenswürdiges Medium wie das Internet ist es von entscheidender Bedeutung, die Integrität und den Herausgeber aller Daten zu gewährleisten, mit denen ein System arbeitet.
Sie verwenden die Docker-Engine, um Images (Daten) per Push und Pull in eine öffentliche oder private Registrierung zu pullen.
Die Inhaltsvertrauenswürdigkeit gibt Ihnen die Möglichkeit, sowohl die Integrität als auch den Herausgeber aller Daten zu überprüfen, die von einer Registrierung über einen beliebigen Kanal empfangen wurden.
Docker Content Trust ist eine Funktion in der Docker-Containerisierungsplattform, mit der Remoteregistrierungsinhalte digital signiert werden können, um sicherzustellen, dass der Inhalt unverändert ist und die aktuellste verfügbare Version ist, wenn Benutzer darauf zugreifen. Es funktioniert über kryptografische Schlüssel. Docker Content Trust wurde in der Docker Engine mit Version 1.8 eingeführt. Docker Content Trust fügt Sicherheitskontrollen hinzu, die die Integrität von Containerimages – den Containerdateien, die Anwendungskomponenten und Inhalte enthalten – überprüfen, die in einer Registrierung wie Docker Hub gespeichert sind. Unternehmensentwickler und andere Benutzer können Containerimages per Push oder Pull (Hochladen oder Herunterladen) in eine Registrierung übertragen. Docker Content Trust löst zwei Probleme mit Registrierungen. Benutzer können ein Container-Image hochladen, das mit Malware infiltriert ist, und die Benutzer, die von diesem Remote-Repository aus darauf zugreifen, können seine Integrität nicht bestimmen. Und zweitens können Benutzer veraltete Container in eine Registry aufnehmen, was zu Interoperabilitäts-, Kompatibilitäts- oder Performance-Problemen für das Unternehmen führt. Im Docker-Sprachgebrauch ist ein Repository eine Sammlung von Containerimages mit demselben Namen, die sich durch Tags unterscheiden und in der Registrierung platziert werden. Wenn ein Herausgeber ein Containerimage per Push in eine Remoteregistrierung überträgt, wendet Docker-Engine eine kryptografische Signatur auf das Containerimage an, wobei der kryptografische Schlüssel des Herausgebers verwendet wird. Das signierte Image kann von Benutzern aus der Registrierung abgerufen werden, wobei Docker Engine den öffentlichen Schlüssel des ursprünglichen Herausgebers verwendet, um zu überprüfen, ob es sich um denselben handelt. Diese Schlüsselprüfung überprüft lediglich, ob es sich bei dem Bild um die Originaldatei handelt, die unverändert ist. Docker Content Trust zertifiziert nicht die Eignung oder Leistung eines Containers für eine bestimmte Aufgabe. Es ist möglich, ein verifiziertes Containerimage zu pullen, nur damit dieser Container Fehler generiert oder eine schlechte Leistung erbringt, weil er nicht produktionsbereit ist. Ein Benutzer kann weiterhin ein bösartiges Containerimage hochladen, und Docker Content Trust signiert das Image. Benutzer öffentlicher Registrierungen und Repositorys tragen weiterhin die Verantwortung, ein Containerimage zu testen und zu überprüfen.
DCT-Komponenten
Sicherheitsvorteile von Docker Content Trust
Das Verifizierungssystem schützt vor Man-in-the-Middle-Angriffen, da es verhindert, dass ein Angreifer heimlich Inhalte fälscht oder manipuliert. DCT verhindert auch Replay-Angriffe, bei denen gültige Aktionen von Angreifern kopiert und erneut abgespielt werden, um ein System zu täuschen. DCT-Zeitstempel verhindern beispielsweise, dass Angreifer ältere (in der Regel kompromittierte) Bilder als die neuesten ausgeben. Das TUF-Framework und die Verwendung mehrerer Schlüssel ermöglichen es DCT, das System vor der Kompromittierung von Tagging-Schlüsseln zu schützen und es den Publishern zu ermöglichen, Tagging-Schlüssel bei Bedarf zu ändern, ohne die Benutzer zu stören. Docker hat die Funktion “Content Trust” so konzipiert, dass sie für Entwickler, die Bilder hochladen, und die Personen, die diese Inhalte verwenden, unauffällig ist. Inhaltsherausgeber müssen keine neuen Befehle erlernen oder Workflows ändern, aber sie müssen Schlüssel erstellen und verwalten. Die Benutzer sind vollständig vom Digital Signage-System isoliert und können die gleichen Befehle Push, Pull, Build, Run und andere Befehle verwenden, wie sie es ohne Docker Content Trust tun würden.
Überprüfen Sie die Signatur des Simplifier-Bildes
Um das Image zu überprüfen, können Sie den folgenden Befehl ausführen
docker trust inspect --pretty simplifierag/runtime:6.5
Wenn es sich bei dem Docker-Image um eines der ursprünglichen Simplifier-Images handelt, erhalten Sie die folgende Ausgabe
UNTERZEICHNER-SCHLÜSSEL
simplifier 30aa71c9ab2a
Repository Key: 7a50f4ba027a885a670160d307f02bee85085bffa104c1b200a8d2753d3fd7db
Root Key: 412960d3c77b40d688b37a57acd6a683cf30c5afe0b510f89d10005aafbf20bf