Installation

...

under Docker

Der The Connect Server kann unter Docker betrieben werden. Unter Windows wird nur die “moderne” Docker-Variante (Docker mit WSL2) unterstützt. Für den Betrieb unter Docker empfehlen wir die Verwendung der Auslieferung als portable .NET Assembly, da die plattformspezifischen Varianten des Connect Servers nicht explizit für den Betrieb unter Docker getestet werden.Als Basis für die Erstellung des Images benötigen Sie eine Linux Distribution sowie die aktuelle Version der can be operated under Docker. On Windows, only the "modern" Docker variant (Docker with WSL2) is supported. For operation under Docker, we recommend using the delivery as a portable .NET assembly, since the platform-specific variants of the Connect Server are not explicitly tested for operation under Docker.

As a basis for the creation of the image you need a Linux distribution and the current version of the ASP.NET Core 6.0 Laufzeitumgebung. Ein entsprechendes Image wird z. B. von Microsoft zur Verfügung gestellt, es kann jedoch auch entsprechende der eigenen Anforderungen selbst erstellt werden.Das Connect-Auslieferungspaket enthält bereits ein Dockerfile für die Erstellung eines Images des Connect Servers auf Basis der von Microsoft bereitgestellten Umgebung für runtime environment. A corresponding image is provided by Microsoft, for example, but it can also be created according to your own requirements.

The Connect delivery package already includes a Dockerfile for creating an image of the Connect server based on the environment for ASP.NET 6.0 .Vor der Erstellung des Images kann das Dockerfile bei Bedarf, an eigene Anforderungen angepasst werden. Das Folgende Beispiel zeigt ein Dockerfile zur Erstellung eines Containers mit der Debian basierten provided by Microsoft.

Before creating the image, the Dockerfile can be customized to your own requirements. The following example shows a Dockerfile for creating a container with the Debian based ASP.NET Core Laufzeitumgebung, zusätzlichen Netzwerk-Tools, einem Editor und dem runtime, additional network tools, an editor and the Connect Server:

Code Block
FROM mcr.microsoft.com/dotnet/aspnet

LABEL Description="This image contains the Connect! Server." Vendor="Galileo Group AG" Version="2022.0.3.704"

RUN apt -y update
RUN apt -y upgrade
RUN apt -y install net-tools
RUN apt -y install iputils-ping
RUN apt -y install vim

COPY . /connect/app

# >>> Use this to store persistent data on volume /connect/data
#     Things to do before starting the container:
#     - Create JSON file "appsettings" containing configuration settings (see user manual for further information)
VOLUME /connect/data
# <<<

# >>> Use this to store persistent data in container (for test purposes only!)
# RUN mkdir /connect/data
# RUN echo "{}" > /connect/data/appsettings.json
# <<<

# >>> Use this to add specific trusted root certificates
# COPY my_trusted_root_ca1.crt /usr/local/share/ca-certificates/
# COPY my_trusted_root_ca2.crt /usr/local/share/ca-certificates/
# COPY my_trusted_root_ca3.crt /usr/local/share/ca-certificates/
# RUN update-ca-certificates
# <<<

WORKDIR /connect/app
ENTRYPOINT ["dotnet", "GalileoGroup.Connect.Server.dll", "settings=/connect/data/appsettings.json?"]

EXPOSE 80/tcp
EXPOSE 443/tcp

...

Creating the Docker

...

image

To create the Docker image, change to the working directory using the cd command. Execute the following command there to create an image with the name "connect":

Code Block
docker build -t connect .

In diesem Beispiel verwendet der Webserver Innerhalb des Docker Images die Standardkonfiguration und ist per HTTP auf Port 80 zu erreichen. Bei Bedarf kann eine HTTPS-Konfiguration auf Port 443 ergänzt werden. Nach außen hin kann für den Container ein beliebiger Port verwendet werden.

Erstellen eines Docker Containers

Im Folgenden wird ein Container mit dem Namen “myconnect” erstellt, welcher auf dem Image “connect” basiert und den Port 8000 für den Zugriff über HTTP verwendet. Zur Auflösung von Servernamen muss für den Container ein DNS-Server spezifiziert werden (in diesem Beispiel die this example, the web server inside the Docker image uses the default configuration and is accessible via HTTP on port 80. If required, an HTTPS configuration on port 443 can be added. Externally, any port can be used for the container.

Creating a Docker Container

In the following, a container named "myconnect" is created, which is based on the image "connect" and uses port 8000 for access via HTTP. To resolve server names, a DNS server must be specified for the container (192.168.1.110 ). Erzeugen und starten Sie den Container über folgendes Kommandoin this example). Create and start the container using the following command:

Code Block
docker run -d -v c:\connect\data:/connect/data -p 8000:80 --dns 192.168.1.110 --name myconnect connect

Damit die persistenten Daten nicht innerhalb des Containers gehalten werden, wird in diesem Beispiel ein externes Verzeichnis mit dem Namen „cTo avoid keeping the persistent data inside the container, this example creates an external directory named "c:\connect\data“ angelegtdata". In diesem Verzeichnis kann eine JSON-Datei mit dem Namen “appsettings.json” erstellt werden, welche die Umgebungsspezifischen Konfigurationseinstellungen enthält.

Falls erforderlich, können Sie einen DNS-Suffix hinzufügen, indem Sie den Parameter --dns-search <suffix> vor dem Parameter --name angeben.

Weitere Informationen finden Sie in der Dokumentation unter folgendem Linkthis directory, a JSON file named "appsettings.json" can be created that contains the environment-specific configuration settings.

If necessary, you can add a DNS suffix by specifying the --dns-search <suffix> parameter before the --name parameter.

For more information, see the documentation at the following link:

...