Skip to content
Snippets Groups Projects
Commit fe1c35fe authored by Marcel Huber's avatar Marcel Huber
Browse files

Merge branch 'hotfix_21.1.2'

added note on JRE/JDK max version to use
parents 1dafa7fe 4e9ca86c
No related branches found
No related tags found
No related merge requests found
FROM openjdk:jre-slim
FROM openjdk:11-jre-slim
MAINTAINER Marcel Huber <marcel.huber@ost.ch>
......
......@@ -8,7 +8,8 @@ include::../ADocMeta.asc[]
include::../ADocGitlabVars.asc[]
:imagesdir: {docdir}/
:imagesoutdir: {imagesdir}
:bankdb_url: {ci_project_dirref}Databases/bank
:ex_db_name: bank
:bankdb_url: {ci_project_dirref}Databases/{ex_db_name}
== Zielsetzung
......@@ -20,78 +21,32 @@ include::../ADocGitlabVars.asc[]
Für diese Übung verwenden Sie JPA mittels https://wiki.eclipse.org/EclipseLink[EclipseLink] basierend auf einer https://www.postgresql.org/[PostgreSQL] Datenbank.
[id='eingesetzte-software']
=== Eingesetzte Software
[id='datenbank']
=== Datenbank `{ex_db_name}`
Die eingesetzten Tools können Sie entweder als _Native Programme_ oder als _Docker services_ laufen lassen.
Eine Mischung ist natürlich auch möglich.
Für diese Übung benötigen Sie https://www.postgresql.org[PostgreSQL] und die Datenbank link:{bankdb_url}[`{ex_db_name}`].
[discrete]
===== Native Programme
Die Daten befinden sich in link:{bankdb_url}[diesem Ordner] und in dieser link:{ci_project_artifacts_download}Databases.zip?job=ArtifactsCollection[zip Datei].
Eine kurze Anleitung zum Import finden Sie in diesem Dokument unter <<datenbank-import>>.
[id='eingesetzte-software']
=== Eingesetzte Software
Stellen Sie sicher, dass nachfolgende Programme auf Ihrem Rechner verfügbar sind.
* https://www.postgresql.org/download/[PostgreSQL >=12] (enthält `psql` command line Tool)
* https://www.pgadmin.org/[pgAdmin]
* Java 8 JDK
* **Java 8 JDK (maximal JRE/JDK-11)**, die <<jpa-libraries-beziehen, PostgreSQL-JDBC Treiber>> unterstützen leider noch keine neueren JREs.
* Java-IDE
** https://www.eclipse.org/downloads/packages/release/2019-12/r/eclipse-ide-enterprise-java-developers[Eclipse IDE for Enterprise Java Developers] (empfohlen)
** https://www.eclipse.org/downloads/packages/release/2019-12/r/eclipse-ide-java-developers[Eclipse IDE for Java Developers], braucht zusätzliche Plugins für JDBC
** https://www.jetbrains.com/idea/[IntelliJ-IDEA]
[discrete]
===== Programme als Docker Services
Sie können die aufgelisteten Programme auch als Docker Containers/Services laufen lassen.
Folgende Services verwenden wir in dieser Übung:
* link:{ci_project_fileref}Helpers/docker-compose.yml#L76[`postgres`]
* `psql`, aus dem link:{ci_project_fileref}Helpers/docker-compose.yml#L52[`postgres`] Image.
* link:{ci_project_fileref}Helpers/docker-compose.yml#L27[`eclipse-jee`]
* link:{ci_project_fileref}Helpers/docker-compose.yml#L54[`pgadmin`]
Die Spezifikation der verwendeten Services ist in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml[`docker-compose.yml`] aufgelistet.
Ein Service kann mit https://docs.docker.com/compose/reference/overview/[`docker-compose`] gestartet werden.
Wollen Sie beispielsweise den Service `postgres` starten, dann können Sie dies mit folgendem Kommando bewerkstelligen:
[source, bash]
----
docker-compose
--file Helpers/docker-compose.yml # <1>
--project-name dataeng # <2>
--project-directory . # <3>
up # <4>
-d # <5>
postgres # <6>
----
<1> Pfad zur compose Datei
<2> Präfix, welches bspw. für Volume-Namen verwendet wird
<3> Definiert den Basispfad, welcher als Ausgangspunkt für relative Pfadangaben wie `.` verwendet wird
<4> Kommando um den Service und die dazu benötigten Abhängigkeiten zu starten
<5> Service soll im Hintergrund laufen gelassen werden
<6> Service der gestartet werden soll
[IMPORTANT]
=====
Vor dem ersten `docker-compose ... up ...` muss das verwendete Docker Image bereits lokal vorhanden sein was Sie durch `pull` und/oder `build` erreichen.
Dies ist notwendig weil sich die `--project-directory` Pfade von link:{ci_project_fileref}Helpers/README.adoc#docker-compose-image-build[`build`] und link:{ci_project_fileref}Helpers/README.adoc#docker-compose-image-build[`up`] unterscheiden.
. Führen Sie `docker-compose ... pull` durch um potentiell existierende Images von https://hub.docker.com[Docker-Hub] herunterzuladen.
. Führen Sie `docker-compose ... build` durch um potentiell fehlende Images zu erstellen.
=====
Weitere Hinweise was Sie auf ihrer Plattform betreffend `docker` zu beachten haben finden Sie in der link:{ci_project_fileref}Helpers/README.adoc[Kurzübersicht zu Helpers].
[discrete]
====== Postgres WebAdmin-UI `pgadmin`
Die Docker Variante von `pgadmin4` ist ein Web-UI, auf welches über die lokale Adresse http://localhost:48084 zugegriffen werden kann.
Der aktuelle Benutzername ist `user@domain.com` und das zugehörige Passwort `DataEng`.
Natürlich können Sie diese Angaben nach belieben in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml#L57[`docker-compose.yml`] abändern.
Nachdem Sie sich das erste Mal angemeldet haben können Sie eine neue Serververbindung zum Host `postgres` mit dem Defaultport `5432` erstellen.
Der `postgres` Datenbankadministrator hat das gleichnamige Passwort `postgres`.
Die eingesetzten Tools können Sie entweder als _Native Programme_ oder als _Docker services_ laufen lassen.
Eine Mischung ist natürlich auch möglich.
Eine kurze Anleitung zur Verwendung als Docker-Services finden Sie in diesem Dokument unter <<tools-as-docker-services>>.
=== Vorlagen
=== Java Projektvorlage
Die Projektvorlage für diese Aufgabe finden Sie in dieser link:{ci_project_artifacts_download}OR-Mapper_JPA.zip?job=ArtifactsCollection[Zip-Datei].
......@@ -164,61 +119,6 @@ Im Paket finden Sie zwei JAR-Libraries, die Sie für das JPA Programm benötigen
** link:{ci_project_fileref}{current_dir_prefix}lib/jakarta.persistence_2.2.3.jar[`eclipselink/jlib/jpa/jakarta.persistence_2.2.3.jar`]
* https://jdbc.postgresql.org/download.html[JDBC-Driver für PostgreSQL].
[id='datenbank-bank']
=== Datenbank `bank`
Für diese Übung benötigen Sie https://www.postgresql.org[PostgreSQL] und die Datenbank link:{bankdb_url}[`bank`].
Die Daten befinden sich in link:{bankdb_url}[diesem Ordner] und in dieser link:{ci_project_artifacts_download}Databases.zip?job=ArtifactsCollection[zip Datei].
Die Datenbank `bank` importieren Sie am einfachsten mit dem Dienstprogramm `psql`.
Dazu wechseln Sie in das entsprechende Unterverzeichnis der `bank` Daten und führen eines der nachfolgenden Kommandos aus.
.Native auf Ihrem Rechner
[source,bash]
----
psql
-U postgres # <1>
-v ON_ERROR_STOP=on # <2>
-f 0_runAllScripts.sql # <3>
----
<1> `postgres` (Datenbankadministrator) als Anmeldebenutzer verwenden
<2> Skript abbrechen sobald ein Fehler auftritt.
<3> Pfad und Name zur SQL-Skript Datei welche importiert werden soll
Alternativ können Sie link:{ci_project_fileref}Databases/bank/run.bat[`run.bat`] oder link:{ci_project_fileref}Databases/bank/run.sh[`run.sh`] aus dem entsprechenden Verzeichnis verwenden.
Voraussetzung dafür ist aber eine korrekt gesetzte Suchpfad Variable.
[IMPORTANT]
======
.`psql` unter Windows
Wenn das `psql` Programm nicht automatisch gefunden wird müssen Sie den korrekten Pfad in die `PATH` Variable in den Einstellungen zu Umgebungsvariablen setzen.
Den Pfad dazu finden Sie am einfachsten heraus wenn Sie das durch den Installer angelegte `psql.bat` Shellscript betrachten.
======
.Verwendung von docker-compose
[source,bash]
----
docker-compose
--file Helpers/docker-compose.yml
--project-name dataeng
--project-directory . # <1>
run psql # <2>
psql # <3>
-h postgres # <4>
-U postgres # <5>
-v ON_ERROR_STOP=on # <6>
-f /src/Databases/bank/0_runAllScripts.sql # <7>
----
<1> Dieser Pfad wird als `/src` im Container eingehängt.
Wählen Sie dazu am besten das Verzeichnis worunter Sie alle DataEngineering Übungsverzeichnisse abgelegt haben.
<2> Service `psql` interaktiv im Vordergrund ausführen
<3> Anstelle des Default Kommando soll `psql ...` ausgeführt werden
<4> Hostname zum `postgres` Datenbankservice - sind über ein isoliertes internes Netzwerk miteinander verbunden
<5> Benutzername des Datenbankadministrator
<6> Skript abbrechen sobald ein Fehler auftritt.
<7> Pfad und Name zur SQL-Skript Datei welche importiert werden soll.
Dieser Pfad muss innerhalb des Container/Service zur Verfügung stehen.
== Ausgangslage
Ausgangslage ist die Datenbank link:{bankdb_url}[`bank`] mit <<BankRelations, diesem Relationenmodell>>:
......@@ -355,6 +255,13 @@ Mehr dazu finden Sie in link:{ci_project_issue}2[diesem Issue].
+
Beim Erfassen des neuen Kunden kann auch gleichzeitig ein neues zugehöriges BankAccount-Objekt mit Kontostand 0 angelegt und in der DB gespeichert werden.
<<<
include::{exercises_dir}AppendixToolsAsDockerServices.asc[]
<<<
include::{exercises_dir}AppendixPostgresDbImport.asc[]
<<<
[appendix,id='solutions']
== Musterlösung
......
OR-Mapper_JPA/img/Eclipse-Jee-2020-12-R-AddSystemJRE-openjdk-11.png

87.9 KiB

OR-Mapper_JPA/img/Eclipse-Jee-2020-12-R-SelectComplianceLevel-11.png

93.6 KiB

......@@ -25,6 +25,7 @@ Wie schon letzte Woche optimieren Sie Queries in https://www.postgresql.org/[Pos
Für diese Übung benötigen Sie https://www.postgresql.org[PostgreSQL], https://www.pgadmin.org/[pgAdmin] (ggf. psql) und die mittelgrosse link:{ci_project_dirref}Databases/dvdstore_500mb[dvdstore] Datenbank.
Detaillierte Informationen dazu finden Sie in der link:{ci_project_fileref}Indexes/README.adoc#datenbanken[letzten Übung (Datenbanken)].
Eine kurze Anleitung zum Import finden Sie in diesem Dokument unter <<datenbank-import>>.
[id='zeitmessung']
=== Ausführungsplan und Zeitmessung
......@@ -736,69 +737,9 @@ Bei der linearen Interpolation hingegen wird ein Table-Scan durchgeführt.
endif::exercise_solution[]
{blank}
<<<
:ex_db_name: dvdstore
[appendix,id='datenbank-import']
== Datenbank in PostgreSQL importieren
Hier ist am Beispiel der Datenbank `{ex_db_name}` nochmals kurz beschrieben wie die Daten importiert werden.
Die Daten befinden sich in link:{ci_project_dirref}Databases/{ex_db_name}[diesem Ordner] und in dieser link:{ci_project_artifacts_download}Databases.zip?job=ArtifactsCollection[zip Datei].
[NOTE]
=====
Für den Import basierend auf einem `git clone` brauchen Sie das Tool https://github.com/git-lfs/git-lfs[`git-lfs`].
Erst damit werden die Daten des link:{ci_project_dirref}Databases/[Databases] Ordner ins lokale Verzeichnis heruntergeladen.
=====
Die Datenbank `{ex_db_name}` importieren Sie am einfachsten mit dem Dienstprogramm `psql`.
Dazu wechseln Sie in das entsprechende Unterverzeichnis der `{ex_db_name}` Daten und führen eines der nachfolgenden Kommandos aus.
.Native auf Ihrem Rechner
[source,bash]
----
psql
-U postgres # <1>
-v ON_ERROR_STOP=on # <2>
-f 0_runAllScripts.sql # <3>
----
<1> `postgres` (Datenbankadministrator) als Anmeldebenutzer verwenden
<2> Skript abbrechen sobald ein Fehler auftritt.
<3> Pfad und Name zur SQL-Skript Datei welche importiert werden soll
Alternativ können Sie link:{ci_project_fileref}Databases/{ex_db_name}/run.bat[`run.bat`] oder link:{ci_project_fileref}Databases/{ex_db_name}/run.sh[`run.sh`] aus dem entsprechenden Verzeichnis verwenden.
Voraussetzung dafür ist aber eine korrekt gesetzte Suchpfad Variable auf Ihrem System.
[IMPORTANT]
======
.`psql` unter Windows
Wenn das `psql` Programm nicht automatisch gefunden wird müssen Sie den korrekten Pfad in die `PATH` Variable in den Einstellungen zu Umgebungsvariablen setzen.
Den Pfad dazu finden Sie am einfachsten heraus wenn Sie das durch den Installer angelegte `psql.bat` Shellscript betrachten.
======
.Verwendung von docker-compose
[source,bash,subs="+attributes"]
----
docker-compose
--file Helpers/docker-compose.yml
--project-name dataeng
--project-directory . # <1>
run postgres # <2>
psql # <3>
-h postgres # <4>
-U postgres # <5>
-v ON_ERROR_STOP=on # <6>
-f /src/Databases/{ex_db_name}/0_runAllScripts.sql # <7>
----
<1> Dieser Pfad wird als `/src` im Container eingehängt.
Wählen Sie dazu am besten das Verzeichnis worunter Sie alle DataEngineering Übungsverzeichnisse abgelegt haben.
<2> Service `postgres` interaktiv im Vordergrund ausführen
<3> Anstelle des Default Kommando soll `psql ...` ausgeführt werden
<4> Hostname zum `postgres` Datenbankservice - sind über ein isoliertes internes Netzwerk miteinander verbunden
<5> Benutzername des Datenbankadministrator
<6> Skript abbrechen sobald ein Fehler auftritt.
<7> Pfad und Name zur SQL-Skript Datei welche importiert werden soll.
Dieser Pfad muss innerhalb des Container/Service zur Verfügung stehen.
<<<
include::{exercises_dir}AppendixPostgresDbImport.asc[]
<<<
[appendix,id='ramakrishhnan-excerpt']
......
......@@ -25,6 +25,7 @@ Wie schon letzte Woche optimieren Sie Queries in https://www.postgresql.org/[Pos
Für diese Übung benötigen Sie https://www.postgresql.org[PostgreSQL], https://www.pgadmin.org/[pgAdmin] (ggf. psql) und die mittelgrosse link:{ci_project_dirref}Databases/dvdstore_500mb[dvdstore] Datenbank.
Detaillierte Informationen dazu finden Sie in der link:{ci_project_fileref}Indexes/README.adoc#datenbanken[letzten Übung (Datenbanken)].
Eine kurze Anleitung zum Import finden Sie in diesem Dokument unter <<datenbank-import>>.
[id='zeitmessung']
=== Ausführungsplan und Zeitmessung
......@@ -736,69 +737,9 @@ Bei der linearen Interpolation hingegen wird ein Table-Scan durchgeführt.
endif::exercise_solution[]
{blank}
<<<
:ex_db_name: dvdstore
[appendix,id='datenbank-import']
== Datenbank in PostgreSQL importieren
Hier ist am Beispiel der Datenbank `{ex_db_name}` nochmals kurz beschrieben wie die Daten importiert werden.
Die Daten befinden sich in link:{ci_project_dirref}Databases/{ex_db_name}[diesem Ordner] und in dieser link:{ci_project_artifacts_download}Databases.zip?job=ArtifactsCollection[zip Datei].
[NOTE]
=====
Für den Import basierend auf einem `git clone` brauchen Sie das Tool https://github.com/git-lfs/git-lfs[`git-lfs`].
Erst damit werden die Daten des link:{ci_project_dirref}Databases/[Databases] Ordner ins lokale Verzeichnis heruntergeladen.
=====
Die Datenbank `{ex_db_name}` importieren Sie am einfachsten mit dem Dienstprogramm `psql`.
Dazu wechseln Sie in das entsprechende Unterverzeichnis der `{ex_db_name}` Daten und führen eines der nachfolgenden Kommandos aus.
.Native auf Ihrem Rechner
[source,bash]
----
psql
-U postgres # <1>
-v ON_ERROR_STOP=on # <2>
-f 0_runAllScripts.sql # <3>
----
<1> `postgres` (Datenbankadministrator) als Anmeldebenutzer verwenden
<2> Skript abbrechen sobald ein Fehler auftritt.
<3> Pfad und Name zur SQL-Skript Datei welche importiert werden soll
Alternativ können Sie link:{ci_project_fileref}Databases/{ex_db_name}/run.bat[`run.bat`] oder link:{ci_project_fileref}Databases/{ex_db_name}/run.sh[`run.sh`] aus dem entsprechenden Verzeichnis verwenden.
Voraussetzung dafür ist aber eine korrekt gesetzte Suchpfad Variable auf Ihrem System.
[IMPORTANT]
======
.`psql` unter Windows
Wenn das `psql` Programm nicht automatisch gefunden wird müssen Sie den korrekten Pfad in die `PATH` Variable in den Einstellungen zu Umgebungsvariablen setzen.
Den Pfad dazu finden Sie am einfachsten heraus wenn Sie das durch den Installer angelegte `psql.bat` Shellscript betrachten.
======
.Verwendung von docker-compose
[source,bash,subs="+attributes"]
----
docker-compose
--file Helpers/docker-compose.yml
--project-name dataeng
--project-directory . # <1>
run postgres # <2>
psql # <3>
-h postgres # <4>
-U postgres # <5>
-v ON_ERROR_STOP=on # <6>
-f /src/Databases/{ex_db_name}/0_runAllScripts.sql # <7>
----
<1> Dieser Pfad wird als `/src` im Container eingehängt.
Wählen Sie dazu am besten das Verzeichnis worunter Sie alle DataEngineering Übungsverzeichnisse abgelegt haben.
<2> Service `postgres` interaktiv im Vordergrund ausführen
<3> Anstelle des Default Kommando soll `psql ...` ausgeführt werden
<4> Hostname zum `postgres` Datenbankservice - sind über ein isoliertes internes Netzwerk miteinander verbunden
<5> Benutzername des Datenbankadministrator
<6> Skript abbrechen sobald ein Fehler auftritt.
<7> Pfad und Name zur SQL-Skript Datei welche importiert werden soll.
Dieser Pfad muss innerhalb des Container/Service zur Verfügung stehen.
<<<
include::{exercises_dir}AppendixPostgresDbImport.asc[]
<<<
[appendix,id='ramakrishhnan-excerpt']
......
21.1.1
21.1.2
[appendix,id='datenbank-import']
== Datenbank in PostgreSQL importieren
Hier ist am Beispiel der Datenbank `{ex_db_name}` nochmals kurz beschrieben wie die Daten importiert werden.
Die Daten befinden sich in link:{ci_project_dirref}Databases/{ex_db_name}[diesem Ordner] und in dieser link:{ci_project_artifacts_download}Databases.zip?job=ArtifactsCollection[zip Datei].
[NOTE]
=====
Für den Import basierend auf einem `git clone` brauchen Sie das Tool https://github.com/git-lfs/git-lfs[`git-lfs`].
Erst damit werden die Daten des link:{ci_project_dirref}Databases/[Databases] Ordner ins lokale Verzeichnis heruntergeladen.
=====
Die Datenbank `{ex_db_name}` importieren Sie am einfachsten mit dem Dienstprogramm `psql`.
Dazu wechseln Sie in das entsprechende Unterverzeichnis der `{ex_db_name}` Daten und führen eines der nachfolgenden Kommandos aus.
.Native auf Ihrem Rechner
[source,bash]
----
psql
-U postgres # <1>
-v ON_ERROR_STOP=on # <2>
-f 0_runAllScripts.sql # <3>
----
<1> `postgres` (Datenbankadministrator) als Anmeldebenutzer verwenden
<2> Skript abbrechen sobald ein Fehler auftritt.
<3> Pfad und Name zur SQL-Skript Datei welche importiert werden soll
Alternativ können Sie link:{ci_project_fileref}Databases/{ex_db_name}/run.bat[`run.bat`] oder link:{ci_project_fileref}Databases/{ex_db_name}/run.sh[`run.sh`] aus dem entsprechenden Verzeichnis verwenden.
Voraussetzung dafür ist aber eine korrekt gesetzte Suchpfad Variable auf Ihrem System.
[IMPORTANT]
======
.`psql` unter Windows
Wenn das `psql` Programm nicht automatisch gefunden wird müssen Sie den korrekten Pfad in die `PATH` Variable in den Einstellungen zu Umgebungsvariablen setzen.
Den Pfad dazu finden Sie am einfachsten heraus wenn Sie das durch den Installer angelegte `psql.bat` Shellscript betrachten.
======
.Verwendung von docker-compose
[source,bash,subs="+attributes"]
----
docker-compose
--file Helpers/docker-compose.yml
--project-name dataeng
--project-directory . # <1>
run psql # <2>
psql # <3>
-h postgres # <4>
-U postgres # <5>
-v ON_ERROR_STOP=on # <6>
-f /src/Databases/{ex_db_name}/0_runAllScripts.sql # <7>
----
<1> Dieser Pfad wird als `/src` im Container eingehängt.
Wählen Sie dazu am besten das Verzeichnis worunter Sie alle DataEngineering Übungsverzeichnisse abgelegt haben.
<2> Service `psql` interaktiv im Vordergrund ausführen
<3> Anstelle des Default Kommando soll `psql ...` ausgeführt werden
<4> Hostname zum `postgres` Datenbankservice - sind über ein isoliertes internes Netzwerk miteinander verbunden
<5> Benutzername des Datenbankadministrator
<6> Skript abbrechen sobald ein Fehler auftritt.
<7> Pfad und Name zur SQL-Skript Datei welche importiert werden soll.
Dieser Pfad muss innerhalb des Container/Service zur Verfügung stehen.
[appendix,id='tools-as-docker-services']
== Programme als Docker Services
Sie können die aufgelisteten Programme auch als Docker Containers/Services laufen lassen.
Folgende Services verwenden wir in dieser Übung:
* link:{ci_project_fileref}Helpers/docker-compose.yml#L27[`eclipse-jee`]
* link:{ci_project_fileref}Helpers/docker-compose.yml#L76[`postgres`]
* link:{ci_project_fileref}Helpers/docker-compose.yml#L128[`psql`]
* link:{ci_project_fileref}Helpers/docker-compose.yml#L54[`pgadmin`]
Die Spezifikation der verwendeten Services ist in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml[`docker-compose.yml`] aufgelistet.
Ein Service kann mit https://docs.docker.com/compose/reference/overview/[`docker-compose`] gestartet werden.
[discrete]
==== Eclipse(-JEE) IDE
Ganz aktuelle Versionen von Eclipse, bspw. https://www.eclipse.org/downloads/packages/release/2020-12/r/eclipse-ide-enterprise-java-developers[Eclipse IDE for Enterprise Java Developers 2020-12-R], bringen ein eingebautes JRE/JDK mit, welches mindestend in Version 15 vorliegt.
Da wir in unseren Übungen JDBC Treiber einsetzen welche auf JRE-8 basieren, müssen wir die IDE entsprechend konfigurieren damit wir für die Kompilation und Ausführung ein passendes JRE/JDK in maximal Version 11 verwenden.
Voraussetzung dafür ist natürlich, dass Sie eine entsprechend _alte_ Version einer Java Laufzeitumgebung installiert haben.
:imagesdir: {docdir}/img/
.Hinzufügen einer alternativen Java Laufzeitumgebung
image::Eclipse-Jee-2020-12-R-AddSystemJRE-openjdk-11.png[Add System JRE]
.Anpassen des Java Compiler Compliance Level
image::Eclipse-Jee-2020-12-R-SelectComplianceLevel-11.png[Select Compliance Level]
[discrete]
==== Postgres
Wollen Sie beispielsweise den Service `postgres` starten, dann können Sie dies mit folgendem Kommando bewerkstelligen:
[source, bash]
----
docker-compose
--file Helpers/docker-compose.yml # <1>
--project-name dataeng # <2>
--project-directory . # <3>
up # <4>
-d # <5>
postgres # <6>
----
<1> Pfad zur compose Datei
<2> Präfix, welches bspw. für Volume-Namen verwendet wird
<3> Definiert den Basispfad, welcher als Ausgangspunkt für relative Pfadangaben wie `.` verwendet wird
<4> Kommando um den Service und die dazu benötigten Abhängigkeiten zu starten
<5> Service soll im Hintergrund laufen gelassen werden
<6> Service der gestartet werden soll
[IMPORTANT]
=====
Vor dem ersten `docker-compose ... up ...` muss das verwendete Docker Image bereits lokal vorhanden sein was Sie durch `pull` und/oder `build` erreichen.
Dies ist notwendig weil sich die `--project-directory` Pfade von link:{ci_project_fileref}Helpers/README.adoc#docker-compose-image-build[`build`] und link:{ci_project_fileref}Helpers/README.adoc#docker-compose-image-build[`up`] unterscheiden.
. Führen Sie `docker-compose ... pull` durch um potentiell existierende Images von https://hub.docker.com[Docker-Hub] herunterzuladen.
. Führen Sie `docker-compose ... build` durch um potentiell fehlende Images zu erstellen.
=====
Weitere Hinweise was Sie auf ihrer Plattform betreffend `docker` zu beachten haben finden Sie in der link:{ci_project_fileref}Helpers/README.adoc[Kurzübersicht zu Helpers].
[discrete]
==== Postgres WebAdmin-UI `pgadmin`
Die Docker Variante von `pgadmin4` ist ein Web-UI, auf welches über die lokale Adresse http://localhost:48084 zugegriffen werden kann.
Der aktuelle Benutzername ist `user@domain.com` und das zugehörige Passwort `DataEng`.
Natürlich können Sie diese Angaben nach belieben in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml#L57[`docker-compose.yml`] abändern.
Nachdem Sie sich das erste Mal angemeldet haben können Sie eine neue Serververbindung zum Host `postgres` mit dem Defaultport `5432` erstellen.
Der `postgres` Datenbankadministrator hat das gleichnamige Passwort `postgres`.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment