Skip to content

Installation Microservice Architecture

Schilling, Sebastian edited this page Jun 18, 2021 · 5 revisions

Voraussetzungen

  • Docker Installation je nach Betriebssystem
  • Docker-Compose installieren (nur noch auf Server, in den Desktop Varianten wurde DockerCompose v2 bereits in Docker integriert)

Installation auf Linux Server (von GitLab)

Projekt auf Server klonen

$ cd /var/opt
$ git clone https://kis5.geoinformation.htw-dresden.de/gitlab/clemen/terraintwin
$ cd terraintwin

Konfiguration einrichten

$ cp .env.example .env
$ nano .env

Docker-Stacks starten

  1. Container mit Datenbanken etc. erstellen
$ docker-compose -f docker-compose.databases.yml up -d
  1. darauf aufbauende Container erstellen
$ docker-compose up -d

Installation lokal auf Windows

Projekt in IDE clonen

$ git clone https://kis5.geoinformation.htw-dresden.de/gitlab/clemen/terraintwin

Konfiguration einrichten

$ cp .env.example .env
$ nano .env

Docker-Stacks starten

  1. Container mit Datenbanken etc. erstellen
$ docker-compose -f docker-compose.databases.yml up -d
  1. darauf aufbauende Container erstellen
$ docker-compose up -d

Installation auf Linux Server (händisch)

Hinweis: Die Befehle beziehen sich jeweils auf das Projektverzeichnis (Verzeichnis in dem die docker-compose.yml abgelegt ist). Alle Befehl können durch weitere Optionen für den Anwendungsfall konfiguriert werden, bitte die Dokumentation entsprechend beachten.

Dateien in Linux System kopieren und einrichten

  • Installationsordner erstellen (z.B. /var/opt/microservices)
  • docker-compose.yml und docker-compose.databases.yml in Ordner kopieren
  • volumes-Ordner mit Config-Dateien für Microservices kopieren
  • .env.example in .env umbenennen und ausfüllen

Docker-Stacks starten

  1. Container mit Datenbanken etc. erstellen
$ docker-compose -f docker-compose.databases.yml up -d
  1. darauf aufbauende Container erstellen
$ docker-compose up -d

Befehle für den Umgang mit Docker Containern und Images

Alle Container einer Compose-Datei starten

$ docker-compose up -d

Das Flag -d bewirkt das Ausführen der Komponenten als Daemon-Prozesse im Hintergrund. Beim Start wird ein gemeinsames Netzwerk eingerichtet über das die konfigurierten Dienste miteinander interagieren können (Service-Name in docker-compose.yml wird zum Hostnamen im lokalen Netzwerk der Komponenten).

Starten nur einzelner Container

$ docker-compose up [servicename] -d

Auflisten der Container (und der Port-Mappings)

$ docker ps

Prüfen der Log-Ausgabe

$ docker-compose logs [servicename] -f

Aufrufen eines Kommandos innerhalb eines laufenden Containers

$ docker-compose exec [servicename] bash

bash steht hier stellvertretend für ein beliebiges Kommando, dass innerhalb des Containers verfügbar ist. Insbesondere Alpine-Images bieten nur die sh-Shell.

Beispielsweise kann die Postgres CLI wie folgt aufgerufen werden:

$ docker-compose exec postgres psql -U postgres

Stoppen der Container

$ docker-compose down

Beim Stoppen werden alle flüchtigen Ressourcen entfernt. Persistente Daten wie Datenbankverzeichnisse sind in dieser Konfiguration zur Vereinfachung als bind mount eingerichtet und werden über das Unterverzeichnis ./volumes zur Laufzeit im jeweiligen Container eingerichtet.

Clone this wiki locally