3.3.1. WAST-Docker (Stand 28.Feb. 2019)¶
Maintainer: Ali Rasim Kocal
3.3.1.1. Einleitung¶
3.3.1.2. Aufbau eines Standalone Docker Containers open_wiTTFind¶
zur Arbeit mit WiTTFind und WAST-Tools
Dieser open-wiTTFind Container soll die notwendigen Dienste und Repositories enthalten, die notwendig sind, dass der Container auf Windows/MAC und LINUX Umgebungen innerhalb über einen Dockerserver läuft.
Der Container wird unter gitlab.cip.ifi.lmu.de aufgebaut.
3.3.1.3. Inhalt des Containers:¶
3.3.1.3.1. notwendige Programme Repositories mit Source Files¶
im Container
C++:
SIS
wf
python
wfa
axs
rcs
python, perl, mongodb:
reader
3.3.1.3.2. Die öffentlichen Transkriptionen und Faksimile¶
In diesem Container stehen die Transkriptionen der beiden Dokumente
Ms-114
Ts-213
zur Verfügung. Die Transkriptionen und Faksimile stehen unter eine Open-Source Lizenz und können zu wissenschftlichen Zwecken verwendet werden. Weiterverreitung der Transkriptionen und Faksimile ist ohne ausdrücklicher schriftlicher Genehmigung der Rechteinhaber verboten
3.3.1.3.3. Das opensource Lexikon WiTTLex-open¶
Im WiTTLex-open Lexikon ist ein Extrakt aus unserem Wittgenstein Lexikon. Hier finden Sie nur die Lexikoneinträge aus dem kompletten WiTTLex, die in Ms-114 und Ts-213 vorkommen. Der Extrakt der Lexikoneinträge wird per Pythonskript automatisch bei make deploy
mit dem target make frequlist Ms114 Ts213
im witt-data Repository über Freqenzlisten von MS-114 und Ts-213 erstellt. Die Lexikoneinträge werden mit den target make WiTTLex-open
nach WiTTLex-open
kopiert.
neue Targets für make deploy
in witt-data
make freqlist Ms114 Ts213
make WiTTLex-open
3.3.1.3.4. notwendige Daten witt-data-open
(zum Download)¶
Verfügbarmachung der Daten und Faksimile, Faksimile-Koordinaten innerhalb des Containers (Achtung: es wird als Lexikon nur WiTTLex-open übernommen!!)
3.3.1.3.5. Transfer von witt-data
in das gezippte tar Archiv: witt-data-open.tgz
¶
Die Zusammenstellung der Daten für den öffentlichen Datencontainer wird innerhalb des witt-data
Repositories bei er Ausführung des targets make deploy
mit einem neuen target to-wittdata-open
erledigt.
die Daten von Ms-114 und Ts-213 werden getagged und expandiert und als solche in das Archiv kopiert.
das wiTTLex-open Lexikon mit den Wörtern von Ms-114 und Ts-213 werden als solche in das Archiv kopiert.
3.3.1.4. Quickstart zum Docker¶
Die tools docker
und docker-compose
müssen auf dem Host installiert sein.
3.3.1.4.1. Zum Bauen¶
# Initialisiere alle submodule:
git submodule update --init --recursive
# Baue die images:
docker-compose build
# Bringe das System hoch:
docker-compose up
# Sende eine Anfrage an wfa:
curl -d '{ "query": "d", "max": 10 }' localhost:8081
3.3.1.4.2. Arbeit mit der Docker Software¶
Die docker-software ist nur über die Kommandozeile anzusprechen. Dazu öffnen sie unter Linux/Mac ein Konsolen-Fenster, unter Windows
starten Sie die “Aufforderungs-App” oder auch Windows-Power Shell genannt. Die Powershell öffnet sich mit dem Befehl cmd
.
In diesem Eingabefenster können sie nun die docker Kommandos eingeben.
docker -v
Docker version 19.03.5, build 633a0ea
3.3.1.4.3. Userzugriff auf die Docker Software¶
Damit unter Linux ein Nutzer mit der Dockersoftware arbeiten möchte, muss er zur Gruppe docker
gehören.
(ungünstige/gefährliche Variante: Als Superuser kann man die Dockersoftware immer verwenden.)
3.3.1.4.4. Docker Images und Konfigurationsdatei¶
Zum Starten von docker-images braucht eine Konfigurationsdatei, die
docker-compose.yml
heißen muss.
dir docker-compose.yml
Docker braucht zum Arbeiten docker-container, sogenannte docker-images.
Wenn Sie zum ersten mal einen Container laden wollen, dann erledigen Sie mit dem folgenden Befehl (Achtung: Das Laden des Containers kann längerre Zeit dauern)
Unser docker Image heißt wast_all_2020_02_28.tar
und ist zum Download bereitgestellt:
https://www.cis.uni-muenchen.de/kurse/max/wast/data//wast_all_2020_02_28.zip
Kopieren sie den Container in ihr Homeverzeichnis in einen neuen Folder (z.B. my_wittfind
) und
entpacken Sie den gezippten File mit (unzip z.B. mit 7zip (Windows) oder unzip (Linux = `unzip``)).
Wechsel Sie in entpackte Archiv:
cd wast_all
cd wast_server
In diesem Verzeichnis finden sie den yml
Konfigurationsfile und die WAST-Container.
docker load -i wast_2020_02_28_0952.tar
Zum Überprüfen, welche docker images geladen sind, kann der folgende Befehl benutzt werden:
C:\Users\max\my_wittfind\wast_all_2020_02_28\wast_server>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wast/wf graph_patch c24072138a05 3 days ago 258MB
wast/wf latest c24072138a05 3 days ago 258MB
wast/wittsim latest 26a49c1ba2f7 6 days ago 978MB
wast/wittfind-web latest fa480ccfc397 6 days ago 248MB
wast/sis latest 18446a9dcc3d 6 days ago 207MB
<none> <none> 6241214ae231 6 days ago 256MB
mongo 3.6-xenial d3fdbdf0f17b 9 days ago 438MB
wast/quadro-reader latest 1b0ef6fa01e6 10 days ago 1.2GB
wast/nax latest aa3802ff9eff 12 days ago 362MB
wast/wfa latest 961583cb1887 12 days ago 398MB
3.3.1.4.5. Docker Images starten¶
Wenn die benötigten Images gefunden sind, die docker-compose.yml
Datei vorhanden ist,
kann wittfind mit docker-compose
gestartet werden.
Der folgende Befehl muss in der Verzeichnis ausgeführt werden, wo die docker-compose.yml
Datei sich befindet.
docker-compose up
Windows: Wir erlauben dem Docker auf unser Laufwerk zuzugreifen. (Share it)
3.3.1.4.6. Arbeit mit dem wittfind-open Docker Container über den Browser¶
Wenn der wittfind-open Container gestartet ist, wird im Container ein WEB-Server gestartet und kann
auf eigenen Rechner mit firefox über die WEB-Adresse http://localhost:8080
angesprochen werden
3.3.1.4.7. Troubleshooting¶
Es kann beim Startup vorkommen, dass manche Komponenten nicht richtig gestartet werden. In dem Fall soll
der Befehl docker-compose up
von einer neuen Kommandozeile aus dem gleichen Folder nochmal aufgeführt werden, um
diese neuzustarten.
Um das System komplett neuzustarten reicht es nicht den Prozess (zB mit Ctrl-C) zu beenden, dazu muss danach noch
docker-compose down
ausgeführt werden.
3.3.2. Zweiter Dockercontainer: Wittsim¶
Wir haben auch einen zweiten Container vorbereitet, mit dem sie
ein Debian LINUX
python3
perl
gcc
make usw. installiert haben In diesem Container können Sie Linuxaufgaben und auch die Aufgaben zur Ähnlichkeitssuche durchführen.
Dieses Debian-docker Image heißt wittsim.tar.zip
und ist zum Download bereitgestellt:
https://www.cis.uni-muenchen.de/kurse/max/wast/data/wittsim.tar.zip
Auch hier holen sie den Container, entpacken ihn und wechseln Sie in das Verzeichnis wittsim.tar
.
Dort laden, starten und verbinden sich mit einer bash shell mit dem Container
docker load -i wittsim.tar
docker run -it wast/wittsim /bin/bash
docker run -v <localdir>:/data -it wast/wittsim /bin/bash
Nun sind sie im wittsim Container als Nutzer “root” in einem Debian-Linux System.
Nun können linux Befehle, Installationen, python Programme usw. starten.
Ihr lokales Verzeichnis
Wenn sie weiter Pakete im Container installieren müssen, z.B. für die Aufgabe zur Infrastruktur, dann geben Sie in der Docker folgende Befehle ein.
# apt-get install update
# apt-get install libxml2-utils
# pip3 install lxml
# cpan -i HTML::Parser
Verändern von Dateien aus dem Container:
Herausfinden, was die ID des Containers ist:
docker ps
Zum Beispiel: 952ec94eaaa3
Kopieren von Dateien (beispielsweise flaskServer.py):
sudo docker cp 952ec94eaaa3:/opt/wittsim/flaskServer.py flaskServer.py
Die Datei muss unter neuem Namen gespeichert werden, bevor sie zurückgelegt werden kann:
sudo docker cp flaskServer2.py 952ec94eaaa3:/opt/wittsim/
Viel Spass!!!