Docker verwenden
Der schnellste Weg, um mit der VCDB zu starten, ist die Verwendung von Docker .
Auf dieser Seite finden sich Kurzanleitung für die Nutzung der VCDB und
vcdb-tool
mit Docker. Anhand der Beispiele
kann in wenigen Minuten eine Datenbank erstellt, CityGML-Daten importiert
und wieder exportiert werden.
Ein ausführlicheres Beispiel für die Verwendung der VCDB und vcdb-tool
unter Docker ist
hier zu finden.
TL;DR
-
VC Database: Einen VCDB Docker-Container mit
SRID=25832
erstellen.
-
Linux
-
Windows CMD
docker run -d -p 5432:5432 --name vcdb \
-e POSTGRES_PASSWORD=changeMe \
-e SRID=25832 \
vcdb-pg[:TAG]
docker run -d -p 5432:5432 --name vcdb ^
-e POSTGRES_PASSWORD=changeMe ^
-e SRID=25832 ^
vcdb-pg[:TAG]
-
vcdb-tool: Mit dem oben angegebenen Container verbinden.
-
Linux
-
Windows CMD
docker run -i -t --rm --name vcdb-tool \
--network host \
-v /my/data/:/data \
-e CITYDB_HOST=localhost \
-e CITYDB_PORT=5432 \
-e CITYDB_NAME=postgres \
-e CITYDB_USERNAME=postgres \
-e CITYDB_PASSWORD=changeMe \
vcdb-tool[:TAG] [help|import|export|delete|index]
docker run -i -t --rm --name vcdb-tool ^
--network host ^
-v /my/data/:/data ^
-e CITYDB_HOST=localhost ^
-e CITYDB_PORT=5432 ^
-e CITYDB_NAME=postgres ^
-e CITYDB_USERNAME=postgres ^
-e CITYDB_PASSWORD=changeMe ^
vcdb-tool[:TAG] [help|import|export|delete|index
Was ist Docker?
Docker ist eine weit verbreitete Virtualisierungstechnologie, die es ermöglicht, eine Anwendung
mit allen erforderlichen Ressourcen in eine standardisierte Einheit zu verpacken—den Docker Container. Auf diese Weise gekapselte Software kann
auf Linux, Windows, macOS und den meisten Cloud-Services ohne weitere Änderungen oder Setup-Prozesse ausgeführt werden. Docker-Container
sind leichtgewichtig im Vergleich zu traditionellen Virtualisierungsumgebungen, die ein ganzes Betriebssystem emulieren, da
sie nur die Anwendung selbst und die erforderlichen Tools, Programmbibliotheken und Dateien enthalten.
Mit Docker ist es möglich, eine VCDB-Instanz in wenigen Sekunden zum Laufen zu bringen, ohne einen Datenbankserver oder das VCDB-Datenbankschema einrichten zu müssen.
Docker installieren
Um die VCDB Docker-Images auszuführen, muss zunächst die Docker Engine installiert werden. Installationsanweisungen für Linux sind hier verfügbar. Für Windows-Benutzer wird der Download und die Installation von Docker Desktop empfohlen.
Docker-Images herunterladen
Docker-Images für die VCDB und vcdb-tool sind auf unserer Software-Downloadseite verfügbar. Jedes Image ist mit der entsprechenden Release-Version der Software versehen. Die Download-Pakete enthalten weitere Anweisungen zum Laden der vorgefertigten Images mit der Docker Engine. Falls Sie Docker-Images selbst erstellen wollen, finden Sie entsprechende Anleitungen in den Docker-Kapiteln für die VCDB und das vcdb-tool.
Schnellstart-Beispiele
Die folgenden Abschnitte bieten Code-Snippets für alle VCDB Docker-Images, um in wenigen Sekunden zu starten.
VCDB Docker
Um einen PostgreSQL/PostGIS VCDB Container aufzusetzen, müssen nur ein Datenbank-Passwort (POSTGRES_PASSWORD
)
und die Spatial Reference ID (SRID
) des zu verwendenden Koordinatenreferenzsystems
für die VCDB-Instanz übergeben werden. Verwenden Sie die -p
Option des docker run
Befehls, um einen Port zu definieren,
über den das Host-System auf die Datenbank zugreifen kann.
-
Linux
-
Windows CMD
docker run -d -p 5432:5432 --name vcdb \
-e POSTGRES_PASSWORD=changeMe \
-e SRID=25832 \
vcdb-pg[:TAG]
docker run -d -p 5432:5432 --name vcdb ^
-e POSTGRES_PASSWORD=changeMe ^
-e SRID=25832 ^
vcdb-pg[:TAG]
|
Die folgende Übersicht zeigt die Konfiguration des VCDB-Containers, der mit dem obigen Befehl gestartet wurde.
Eigenschaft | Wert |
---|---|
Name des Containers |
vcdb |
VCDB Hostname |
localhost or 127.0.0.1 |
VCDB Port |
5432 |
VCDB Datenbankname |
postgres |
VCDB Benutzername |
postgres |
VCDB Passwort |
changeMe |
VCDB SRID |
25832 |
VCDB CRS Name |
urn:ogc:def:crs:EPSG::25832 |
vcdb-tool Docker
Das vcdb-tool Docker-Image macht die Befehle des vcdb-tool
Kommandozeilen-Tools verfügbar.
Die unten aufgelisteten Umgebungsvariablen ermöglichen es, beim Starten des Containers eine VCDB v5
Verbindung zu
spezifizieren. Um Daten für den Import oder Export mit dem Container auszutauschen, wird ein beliebiges Verzeichnis
des Host-Systems als /data
Verzeichnis innerhalb des Containers gemounted.
-
Linux
-
Windows CMD
docker run --rm --name vcdb-tool -i -t \
--network host \
-e CITYDB_HOST=localhost \
-e CITYDB_NAME=postgres \
-e CITYDB_USERNAME=postgres \
-e CITYDB_PASSWORD=changeMe \
-v /my/data/:/data \
vcdb-tool[:TAG] COMMAND (1)
1 | Die verfügbaren Befehle von vcdb-tool sind hier dokumentiert. |
docker run --rm --name vcdb-tool -i -t ^
--network host ^
-e CITYDB_HOST=localhost ^
-e CITYDB_NAME=postgres ^
-e CITYDB_USERNAME=postgres ^
-e CITYDB_PASSWORD=changeMe ^
-v "C:\mydata:/data" ^
vcdb-tool[:TAG] COMMAND (1)
1 | Die verfügbaren Befehle von vcdb-tool sind hier dokumentiert. |
|
Die Hilfe und CLI-Dokumentation anzeigen
Mit Hilfe des help
Befehls kann die CLI-Dokumentation (Command-Line Interface) sowie alle verfügbaren Befehle
des vcdb-tool auf der Konsole ausgegeben werden:
docker run -i -t --rm [...] vcdb-tool[:TAG] help
Mit help COMMAND
wird die Hilfe für einen speziellen Befehl angezeigt:
docker run -i -t --rm [...] vcdb-tool[:TAG] help import
docker run -i -t --rm [...] vcdb-tool[:TAG] help export
docker run -i -t --rm [...] vcdb-tool[:TAG] help delete
# ...
Wenn der Befehl weitere Unterbefehle hat, verwenden Sie help SUBCOMMAND
, um eine Beschreibung des Unterbefehls zu erhalten:
docker run -i -t --rm [...] vcdb-tool[:TAG] import help citygml
CityGML-Daten importieren
Führen Sie den import
Befehl aus, um einen CityGML-Datensatz im Verzeichnis /local/data/dir/data.gml
(Linux) bzw.
C:\local\data\dir\data.gml
(Windows) zu importieren.
-
Linux
-
Windows CMD
docker run -i -t --rm -u $(id -u):$(id -g) \
--network host \
-v /local/data/dir:/data/ \
-e CITYDB_HOST=localhost \
-e CITYDB_NAME=postgres \
-e CITYDB_USERNAME=postgres \
-e CITYDB_PASSWORD=changeMe \
vcdb-tool[:TAG] import citygml "/data/data.gml"
docker run -i -t --rm ^
--network host ^
-v "C:\local\data\dir:/data/" ^
-e CITYDB_HOST=localhost ^
-e CITYDB_NAME=postgres ^
-e CITYDB_USERNAME=postgres ^
-e CITYDB_PASSWORD=changeMe ^
vcdb-tool[:TAG] import citygml "/data/data.gml"
CityGML-Daten exportieren
Über den export
Befehl exportieren Sie die Daten zurück in den CityGML-Datensatz /local/data/dir/export.gml
(Linux) bzw.
C:\local\data\dir\export.gml
(Windows).
-
Linux
-
Windows CMD
docker run -i -t --rm -u $(id -u):$(id -g) \
--network host \
-v /local/data/dir:/data/ \
-e CITYDB_HOST=localhost \
-e CITYDB_NAME=postgres \
-e CITYDB_USERNAME=postgres \
-e CITYDB_PASSWORD=changeMe \
vcdb-tool[:TAG] export citygml -o "/data/export.gml"
docker run -i -t --rm ^
--network host ^
-v "C:\local\data\dir:/data/" ^
-e CITYDB_HOST=localhost ^
-e CITYDB_NAME=postgres ^
-e CITYDB_USERNAME=postgres ^
-e CITYDB_PASSWORD=changeMe ^
vcdb-tool[:TAG] export citygml -o "/data/export.gml"
Ein sehr viel ausführlicheres Beispiel zum Importieren und Exportieren von Daten mit den Docker-Images für die VCDB und das vcdb-tool Docker finden Sie hier. |