Konfigurieren von Docker-Images über Umgebungsparameter
Um den Simplifier-Container (
simplifierag/simplifier) Es stehen folgende Optionen zur Verfügung:
Docker-Umgebungsparameter | Standardwert | Beispiel Wert | Beschreibung |
DB |
MySQL (Englisch) | 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 Hauptdatenbank von Simplifier | |
MYSQL_PORT |
3306 | 3306 | Port des Datenbankservers für die Hauptdatenbank von Simplifier |
MYSQL_USER |
simplifier | Benutzername der Datenbankverbindung Anmeldeinformationen für die Hauptdatenbank von Simplifier | |
MYSQL_PASSWORD |
MyC0mPle! Pa$$word | Passwort der Datenbankverbindung Anmeldeinformationen für die Hauptdatenbank des Simplifiers | |
MYSQL_DB |
simplifier | Datenbankname für die Haupt-Simplifier-Datenbank, wird als Präfix für Plugin-Datenbanken verwendet | |
MONITORING_DBMS |
mysql | Als Überwachungsdatenbank 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 Simplifiers | |
JVM_PARAMETER |
-Xmx16g -Xms2g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:-UseGCOverheadLimit -Xss256m | JVM-Einstellungen für den Simplifier-Dienst | |
CLUSTER_MEMBER_NAME |
NODE_1 | Falls 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 | true oder false 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 | true oder false Wenn auf true gesetzt, ist der Legacy-OPC UA-Konnektor in der Konnektorübersicht verfügbar. Verfügbar seit Release 8 EHP 2 |
|
SYSADMIN |
FALSCH | true oder false Wenn auf true gesetzt, 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 | Beispiel Wert | Beschreibung |
DB_USER |
simplifier | Benutzername für den Zugriff auf die Workflow Runtime-Datenbank | |
DB_PASS |
simplifier | Kennwort für den Zugriff auf die Workflow Runtime-Datenbank | |
DB_DATABASE |
simplifier_wf_rt | Name der Workflow-Laufzeitdatenbank | |
DB_HOST |
mysql | Hostname des MySQL-Datenbankservers | |
DB_PORT |
3306 | 3306 | Portnummer des MySQL-Datenbankservers |
SIMPLIFIER_HOST |
my-simplifier | Interner Container-Name des Simplifier-Servers | |
SECOND_SEED |
my-launchpad | Internal Container-Name des Simplifier Launchpad Containers | |
MODULE_HOST |
my-workflow-runtime | Container Name dieses Workflow-Runtime-Containers | |
JVM_PARAMETER |
-xmx1g | JVM-Heap-Speicherplatz für die Workflow-Laufzeit – Standardwert 1 GB | |
TZ |
Europe/Berlin | Actual Time Zone, um die korrekte Serverzeit sicherzustellen | |
ARCHIVE_ENABLED |
true | Aktivieren Sie die Archivierungsjobs für Workflow-Laufzeitprotokolle | |
ARCHIVE_INTERVAL |
1 Woche | 1 Woche | Zeitraum, der festlegt, wie oft der Archivierungsauftrag ausgeführt werden soll |
ARCHIVE_TIME |
2:00 | 2:00 | Tag, an dem der Job ausgeführt werden soll |
ARCHIVE_MAX_AGE_COMPLETED |
6 Monate | 6 Monate | Zeitraum, nachdem eine abgeschlossene oder beendete Workflow-Instanz automatisch archiviert wird |
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
Plugin 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 | das Captcha des Anmeldeschutzes |
contentRepoPlugin |
Meta-Repository für Dateien | contentRepo |
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 adressiert 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-Jargon ist ein Repository eine Sammlung von Containerimages mit demselben Namen, die sich durch Tags unterscheiden und in der Registrierung abgelegt werden.
Wenn ein Herausgeber ein Containerimage in eine Remoteregistrierung pusht, 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 wiedergegeben werden, um ein System zu täuschen.
DCT-Zeitstempel verhindern beispielsweise, dass Angreifer ältere (in der Regel kompromittierte) Bilder weitergeben, die als die neuesten Bilder ausgegeben werden.
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.
Benutzer sind vollständig vom Digital Signage-System isoliert und können die gleichen Push-, Pull-, Build-, Run- und anderen 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