List & Label Anwendungen in einem Docker Container bereitstellen

Hinweis: Ab List & Label in der Version 27 besteht die Möglichkeit, List & Label ohne Druckertreiber zu verwenden. Für Docker-Images hat dies große Vorteile, da die eher mühsame und nicht gut skalierende Druckerinstallation entfällt.

Lesen Sie auch diesen Artikel über die Bereitstellung des Berichtsservers in einem Docker-Container. Er enthält einige zusätzliche Hinweise zur Installation von Schriften.

Für ältere Versionen beachten Sie die folgenden Hinweise:

Damit eine mit List & Label ausgestattete Anwendung innerhalb eines Docker Containers für das Reporting (Druck und Export) verwendet werden kann, müssen aktuell für den Host und den Container noch bestimmte Voraussetzungen erfüllt sein, damit List & Label erfolgreichen Zugriff auf den Druckertreiber erhalten kann. Im Folgenden werden die wichtigsten Schritte aufgelistet.

  • Als Betriebssystem wird sowohl für den Host als auch den Container mind. Windows 10 Version 1809 bzw. Windows Server 2019 vorausgesetzt. Host und Container sollten dabei stets den gleichen Build-Stand haben. In früheren Builds gab es Probleme bei der Aktivierung des Print-Spoolers innerhalb des Containers. Entsprechende Basis Container Images von Microsoft finden sich hier: Docker Hub: Windows base OS images.

  • Der Container muss dann mit einer sogenannten process-isolation gestartet werden:
    docker run -d -t --isolation process --name mycontainer myimage

  • Aufgrund der gemeinsamen Kernel-Natur von prozess-isolierten Containern kann auf dem Host und allen dort laufenden Containern nur eine einzige Instanz des Drucker-Spooler Dienstes ausgeführt werden. Sie müssen also zuerst den Dienst auf dem Host stoppen, um denselben anschließend im Container starten und verwenden zu können.
    Theoretisch würde sich diese Voraussetzung umgehen lassen, wenn man den Container mit Hyper-V Isolierung starten würde. Unter diesen Umständen ist es List & Label jedoch nicht möglich auf den Drucker (Microsoft XPS Document Writer) korrekt zuzugreifen. Es scheint sich hierbei allerdings um ein allgemeines Problem im Windows Docker-Umfeld zu handeln, das unter Issue: Windows Container - spooler service crashes without warning behandelt wird.

Die Docker-Welt unter Windows ist ein sehr dynamisches Umfeld. Sollten sich die Prozesse vereinfachen lassen oder es neue Lösungen im Windows-Umfeld für Docker geben, werden wir diese Informationen hier gerne aktualisieren.

1 Like