Einleitung
Docker-Container erfreuen sich immer größerer Beliebtheit. Auch der combit Report Server lässt sich in einem Windows Docker-Image installieren und als Container zur Verfügung stellen. Mit der folgenden Anleitung können Sie den Container selbst erstellen.
Vorbereitende Schritte
Sie benötigen zunächst die folgenden Dateien:
ZIP-Datei mit Konfigurationsdateien
Laden Sie die nachfolgende ZIP-Datei mit den Konfigurationsdateien herunter und entpacken Sie diese in ein beliebiges Verzeichnis.
combit Report Server - Docker-Container.zip (1.3 KB)
Folgende Dateien sind darin enthalten:
- Dockerfile
- RunDocker.bat
- web.config
Report Server-Setup
Laden Sie das Report Server-Setup (als Windows Installer-MSI-Datei) herunter und kopieren dieses in das Verzeichnis, in das Sie die ZIP-Datei entpackt haben.
Download (combit Report Server 30)
Download (combit Report Server 29)
Download (combit Report Server 28)
Download (combit Report Server 27)
ASP.NET Core Runtime Hosting Bundle
Laden Sie das neueste verfügbare ASP.NET Core Runtime Hosting Bundle von Microsoft herunter und kopieren dieses in das Verzeichnis, in das Sie die ZIP-Datei entpackt haben.
Download (combit Report Server 30)
Download (combit Report Server 28-29)
Download (combit Report Server 27)
Container erstellen
Dockerfile anpassen
Das Dockerfile definiert die Schritte zur Erzeugung des Docker-Images. Öffnen Sie die Datei in einem beliebigen Text-Editor. Die Datei hat folgenden Aufbau:
# using a iis image speeds up the image build as IIS takes longer to install than the AspNetCoreModule
FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
SHELL ["cmd", "/S", "/C"]
# Create RS Cache folder
RUN mkdir "C:\ProgramData\combit\RS Cache"
SHELL ["powershell", "-command"]
COPY dotnet-hosting-*-win.exe /
COPY RS??ReportServerSetup.msi /
# Set shell to bare cmd.exe for installs
SHELL ["cmd", "/S", "/C"]
RUN start c:\dotnet-hosting-*-win.exe /q OPT_NO_RUNTIME=1 OPT_NO_SHAREDFX=1 OPT_NO_X86=1 /norestart
RUN msiexec /i C:\RS??ReportServerSetup.msi /qn ISDOCKER=1 IACCEPTCOMBITLICENSETERMS=True INSTALLDIR="C:\Program Files\combit\combit Report Server"
SHELL ["powershell", "-command"]
COPY ["./Fonts/*.ttf", "C:/Program Files/combit/combit Report Server/WebUI/Fonts/"]
COPY ["web.config", "C:/Program Files/combit/combit Report Server/WebUI/web.config"]
Die FROM
Anweisung definiert das verwendete Basis-Image von Microsoft. Es handelt sich hier um ein Windows Server Core 2019 Image, welches bereits den IIS für das Hosten des Report Servers enthält. Falls Ihre Windows-Host-Version 21H2 oder neuer ist, können Sie auch die Version 2022 des Windows Core Servers verwenden:
mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
Folgende Änderungen müssen Sie im Dockerfile noch vornehmen:
- RS??ReportServerSetup.msi: Ersetzen Sie hier die Platzhalter
??
durch die Version der heruntergeladenen Datei (z. B.RS30ReportServerSetup.msi
). - dotnet-hosting-*-win.exe: Ersetzen Sie hier den Platzhalter
*
durch die Version der heruntergeladenen Datei (z. B.dotnet-hosting-8.0.8-win.exe
).
Fonts installieren
Da in den Windows Server Core Docker-Images meistens nur der Font Lucon vorhanden ist, müssen für die Generierung der Berichte die nötigen Fonts im Container zur Verfügung gestellt werden. Erstellen Sie dazu im Verzeichnis der anderen Dateien einen Ordner Fonts
und kopieren Sie hier die benötigten Schriftarten hinein. Über die folgende Anweisung im Dockerfile werden diese automatisch in das Docker-Image kopiert:
COPY ["./Fonts/*.ttf", "C:/Program Files/combit/combit Report Server/WebUI/Fonts/"]
Beim Start des Report Servers werden diese dann für die aktuelle Session installiert.
RunDocker.bat ausführen
Führen Sie nun die Datei RunDocker.bat
als Administrator aus. Hierdurch wird nun anhand des Dockerfiles das Docker-Image erstellt und der Container rscontainer gestartet. Rufen Sie anschließend im Browser folgende Adresse auf, um die Installation und Konfiguration des Report Servers abzuschließen:
http://localhost:8080/combitreportserver