Installation
...
on 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 ASP.NET Core 5.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 can be operated under Docker. On Windows, only the "modern" Docker variant (Docker with WSL2) is supported. In Docker-based environments, we recommend using the delivery as a portable .NET assembly, since the platform-specific variants of the Connect Server are not explicitly tested for this scenario.
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 runtime environment. A corresponding image is provided by Microsoft, but you may also use a custom image 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 RUN apt -y install procps 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
...
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 „c:\connect\data“ angelegt. 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 In 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.
To avoid keeping the persistent data inside the container, this example creates an external directory named "c:\connect\data". In this 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> vor dem Parameter parameter before the --name angeben.Weitere Informationen finden Sie in der Dokumentation unter folgendem Linkparameter.
For more information, see the documentation at the following link:
...