KEYnote42 Deutsch - Herbst Ausgabe 2021 | Page 7

PROTECTION

CodeMeter Docker-Support

Mit der CodeMeter Version 7.30 wurden mehrere neue Features eingebaut , um das Arbeiten mit geschützten Applikationen in Container-Systemen wie Docker zu verbessern . Mit diesen Änderungen lässt sich CodeMeter ganz im Sinne des Grundprinzips Immer nur eine App pro Container “ betreiben . Und es gibt eine spezielle Bindung für CmActLicenses innerhalb eines Docker- Containers .
Auf einem „ normalen “ System geht CodeMeter davon aus , dass die CodeMeter-Bibliotheksfunktionen in der geschützten Applikation einen CodeMeter Lizenzserver auf demselben System vorfinden . Durch die Isolierung der Container sah bisher eine in Container A laufende Applikation einen in einem Container B laufenden CodeMeter Lizenzserver nicht . Dies wird jetzt durch das Hinzufügen eines separaten Netzwerks gelöst .
CodeMeter-Netzwerk Dieses CodeMeter-Netzwerk muss allen beteiligten Containern hinzugefügt werden . Ebenso muss in allen Containern die Adresse des Containers mit dem CodeMeter Lizenzserver über die Umgebungsvariable CODEMETER _ HOST angegeben werden . Eine Erkennung der Containerisierung in der CodeMeter-Bibliothek sorgt dafür , dass diese Umgebungsvariable ausgelesen wird und direkt mit dem CodeMeter Lizenzserver kommuniziert wird . Der CodeMeter Lizenzserver nimmt diese Verbindungen als lokale Verbindungen ( und nicht etwa als Netzwerkverbindungen ) an . Das heißt insbesondere , dass man von diesem
CodeMeter Lizenzserver aus auch Lizenzen verwenden kann , die an einem anderen Host mit CodeMeter als Netzwerkserver bereitgestellt werden .
Schauen wir uns als Beispiel eine Applikation an , die ein Bild mit einem ausgewählten Effekt versieht . Für jedes Bild , das ein Anwender berechnet haben möchte , wird eine Container- Instanz gestartet , die als Einstiegspunkt die geschützte Applikation aufruft . Die Bilddaten und alle gewünschten Parameter werden als Optionen mitgegeben . Sobald die Berechnung erfolgt ist , beendet sich die Applikation und damit auch der Container . Werden mehrere Bilder gleichzeitig oder zeitlich überlappend berechnet , wird jeweils eine Instanz gestartet . Es laufen also mehrere Instanzen parallel . Wenn die Applikation eine CodeMeter-Lizenz zum Betrieb benötigt , greift diese beim Start auf den in der Konfiguration hinterlegten CodeMeter Lizenzserver zu und belegt dort eine Lizenz . Wird die Applikation beendet , gibt sie die belegte Lizenz wieder frei . Üblicherweise läuft in solch einem Szenario daher genau ein Container mit einem CodeMeter Lizenzserver , auf den die mehrfach laufenden geschützten Applikationen zugreifen .
Für alle CodeMeter-spezifischen Interaktionen mit dem CodeMeter Lizenzserver wird ebenfalls ein separater Container gestartet . Beispiele solcher Interaktionen sind der Betrieb eines ( einzigen ) CodeMeter WebAdmins oder die Verwendung des Kommandozeilentools cmu zum Einspielen von Lizenzen oder Auflisten von Informationen . Die von Wibu-Sys-
Container : CodeMeter License Server
Named Volume
Host
CodeMeter Network
Container : Application + CodeMeter Library
...
Container : Application + CodeMeter Library
Container : CodeMeter WebAdmin
7