Skip to main content
Skip table of contents

Container erstellen und ausführen

Mithilfe von Containern lassen sich Prozesse isoliert von der OCT Umgebung ausführen. Diese Container sind in einer Azure Umgebung hinterlegt.

Üblicherweise werden über OCT Container gestartet, die ein PowerShell oder Python Skript ausführen. Die Container verwenden Linux als zugrundeliegendes Betriebssystem.

Sie sollten sich im Vorfeld einen Storage Account mit passenden Skripten eingerichtet haben - dafür nutzen Sie am besten den Azure Storage Explorer.

1. Vorraussetzungen

  • Container werden ab OCT Version 5.11 unterstützt

  • Container sind nur verfügbar, wenn die OCT Applikation als WebApp in der gleichen Azure Subscription läuft.

  • Es müssen passende Docker-Images erstellt und in der Azure Container Registrierung hochgeladen werden. Diese Images werden üblicherweise von Saxess bereitgestellt.

  • Ein Azure Storage Account zum Ablegen der Skripte für den Kunden wird benötigt.


2. Bereitstellung von Docker-Images bzw. Container-Images

  • Auf einer virtuellen Maschine werden in einem Repository verschiedene Containertypen als Dockerfiles gespeichert, die von Saxess bereitgestellt werden.

  • Eine Dockerfile ist ein Bauplan bzw. eine Anleitung für das Erstellen eines Docker-Images. Anhand dieser Datei wird das Image erstellt.

  • Saxess verfügt über eine fertige Docker Umgebung, in welcher Kopien von Images zur Erstellung von Containern gemacht werden können.

  • Diese Images liegen bei Saxess auf Azure in der Container Registry bzw. dem Anmeldeserver der Containerregistrierung.

  • Jedes Image hat ein Repository in dem die verschiedenen Versionen des Image liegen (z.B. v1, v2, …).

  • Saxess stellt verschiedene Images bereit, die unter anderem …

    • bereits einen technischen Namen (Imagename) haben.

    • eine bestimmte URL für die Containerregistrierung mit der Namenskonvention “<>.azurecr.io” haben.

    • Python oder Powershell Skripte ausführen können.

    • je nach Imagetyp unterschiedliche Größen und Startzeiten haben.

    • je nach Imagetyp Powershell 7, .NET 9 Framework beinhalten.

    • je nach Imagetyp Python Bibliotheken (Pandas, sqlalchemy, pyodbc, requests) beinhalten oder beim Start installieren.

  • Wenn dieses Image über einen Container-Step gestartet wird, wird ein Container erstellt und nach Ausführen des Skripts beendet.


3. Implementierung

  • Es muss ein Skript im Microsoft Azure Storage Explorer angelegt werden.

  • Es müssen bestimmte Konventionen beim Skriptdesign beachtet werden, damit in der Applikation korrekte Informationen in den Prozesslogs angezeigt werden.

  • Dieses Skript muss im einem File Storage in einem beliebigen Volume liegen.

  • In der Dateifreigabe (hier “python”) muss ein Ordner “scripts” angelegt sein. Der Pfad ist nur unter der Menüleiste zu sehen (siehe Screenshot).

  • In dem Ordner “scripts” muss eine Datei z.B. main.py oder main.ps1 liegen - dieser Skriptname kann im Containerstep angepasst werden. Diese Datei wird später als Startbefehl im Container-Step hinterlegt.

  • Einige Container unterstützen zusätzlich die Installation von zusätzlichen Python-Bibliotheken durch eine Datei namens “requirements.txt” im Ordner „scripts“. In dieser Datei wird definiert, welche Bibliotheken im Container installiert werden sollen.

image-20250519-073926.png

4. Datenquelle “Azure Storage” anlegen

  • Damit ein Container-Step angelegt werden kann, muss zuvor eine Datenquelle vom Quellsystemtyp “Azure Storage” mit Typ File-Storage angelegt werden.

image-20250218-141339.png

5. Container-Step anlegen

image-20250606-082642.png
  • Mit dem Container-Step können Sie einen Container basierend auf von uns bereitgestellten Docker-Images erstellen lassen.

  • Dieser Container bindet einen von Ihnen definierten File-Storage als Netzlaufwerk ein und führt auf diesem ein von Ihnen angegebenes Skript aus. Nach Beendigung des Skripts wird der Container gelöscht.

  • Damit Sie den Output des Skripts in der Übersicht der Prozesslogs und in den Log-Details der Pipeline sehen können, muss dieses Skript folgende Bedingungen erfüllen:

    • Es müssen korrekte Exit Codes verwendet werden.

    • Es muss Logging verwendet werden.

    • Der Output muss korrekt in UTF-8 codiert sein.

Für diesen Zweck erhalten Sie ein Musterskript, mit dessen Hilfe Sie schnell starten können.


6. Weitere Informationen

  • Container sind schnell und klein (ab 250 MB).

  • Ein Container stellt eine isolierte Umgebung für die Ausführung von Aufgaben bereit. Dies hat zur Folge, dass weniger Sicherheitsrisiken bei dem Ausführen von PowerShell oder Python bestehen.

  • Container werden durch einen Befehl gestartet, führen das zugrundeliegende Skript aus und enden danach bzw. löschen sich selbst. Bei Beenden des Containers werden keine permanenten Inhalte gespeichert.

  • Container besitzen keine eigene GUI und werden nur per Kommandozeile gesteuert.

  • Container können auch Daten enthalten, aber diese werden nach Beenden des Containers gelöscht, falls sie vorher nicht in eine externe Datenbank oder auf den Azure Storage Account geschrieben werden.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.