Benutzer-Werkzeuge

Webseiten-Werkzeuge


introduction:docker

dStore agora / Docker

Zu reinen Entwicklungszwecken bieten wir eine Version von dStore agora als Docker-Container an.

Grundlegende Einrichtung

Wir gehen im folgenden davon aus, dass das agora-Docker image in einer boot2docker Umgebung (also unter Windows oder Mac OSX) läuft und diese bereits lauffähig ist. Die Lauffähigkeit überprüfen Sie via

docker run hello-world

Das dStore agora image befindet sich in einer privaten insecure Registry (docker.dbap.de). Diese muss wie folgt hinzugefügt werden:

boot2docker ssh
echo 'EXTRA_ARGS="--insecure-registry docker.dbap.de"' | sudo tee -a /var/lib/boot2docker/profile
sudo /etc/init.d/docker restart
exit

Für die SmartEngine Datenbank und andere dStore-Daten brauchen wir zwei Verzeichnisse innerhalb der virtuellen boot2docker-Maschine, welche wie folgt erstellt werden:

boot2docker ssh
sudo mkdir /mnt/sda1/dbap_dev-DB
sudo mkdir /mnt/sda1/dbap_dev-data
exit

Folgende Hinweise zum Datenbankverzeichnis:

  • Das Datenbankverzeichnis darf NICHT in einen sogenannten „Shared Folder“, der per vboxfs gemountet ist liegen!
  • Der Mountpoint /mnt/sda1 ist persistent, er „überlebt“ Neustarts der virtuellen boot2docker Maschine

Container starten

Das jeweils aktuelle dStore agora image erhält man per

docker pull docker.dbap.de/agora

Mindestens beim 1. Start des images muss die SmartEngine Datenbank initialisiert werden. Dieses Kommando kann jederzeit wiederholt werden, es wird dann aber die gesamte Datenbank neu initialisiert (d.h. alle Daten sind verloren):

docker run --rm \
  -v /mnt/sda1/dbap_dev-DB:/opt/dStore_Engine \
  -v /mnt/sda1/dbap_dev-data:/opt/dStore_data \
  docker.dbap.de/agora --initdb

Sollen in dStore agora demo-Daten angelegt werden kann dies jederzeit folgendes Kommando gemacht werden:

docker run --rm \
  -v /mnt/sda1/dbap_dev-DB:/opt/dStore_Engine \
  -v /mnt/sda1/dbap_dev-data:/opt/dStore_data \
  docker.dbap.de/agora --reset-default
   

Ist die Datenbank initialisiert kann das image jederzeit gestartet werden, zum Beispiel im „Vordergrund“

docker run \
  -p 58182:8182 -p 58183:8183 -p 59090:9090 -p 58023:8023 \
  -v /mnt/sda1/dbap_dev-DB:/opt/dStore_Engine \
  -v /mnt/sda1/dbap_dev-data:/opt/dStore_data docker.dbap.de/agora

oder im „Hintergrund“ (Parameter-d)

AGORACONTAINERID=$(docker run -d \
  -p 58182:8182 -p 58183:8183 -p 59090:9090 -p 58023:8023 \
  -v /mnt/sda1/dbap_dev-DB:/opt/dStore_Engine \
  -v /mnt/sda1/dbap_dev-data:/opt/dStore_data docker.dbap.de/agora)

Folgende Ports werden im Beispiel geforwarded:

  • 58182:8182 http-Port des webservice_SmartGates
  • 58183:8183 https-Port des webservice_SmartGates
  • 59090:9090 http-Port des xml_SmartGates
  • 58023:8023 http-Port des jobschedulers

Um zu prüfen ob der Container läuft bietet sich ein kleiner Request auf das webservice_SmartGate an:

curl http://$(boot2docker ip):58182/default/engine/mi_GetUnits

Bitte beachten Sie: Der Zugriff auf den Container erfolgt nicht über „localhost“ sondern über die IP-Adresse die das Kommando boot2docker ip ausgibt (diese ändert sich in der Regel nicht).

Folgende Kommandos (Container beenden, Konsolenausgabe anzeigen, in den Container „einloggen“) sind im folgenden nützlich:

docker kill $AGORACONTAINERID
docker logs -f $AGORACONTAINERID
docker exec -t -i $AGORACONTAINERID bash

Zugriff

Sie können nun das admin_SmartGate per Java Webstart starten (es wird eine kleine Start-Datei geladen, die Sie je nach Browser dann ggfs. öffnen müssen). Die agora-URL besteht aus der boot2docker ip und dem https-Port der beim Start des Containers gekappt wurde (siehe Beispiel oben)

https://(boot2docker ip):58183

Im folgenden finden Sie die Standard-Passwörter:

Superadmin: dbap_dev => wmxUUTkV87
Partner-Login: dbap => a63PKFH6pP

jobscheduler: jobs => jobs
introduction/docker.txt · Zuletzt geändert: 24.02.2015 von dstore