docker - IITDBGroup/gprom GitHub Wiki
Docker Support
We have automated builds setup for several docker images that enable users to quickly setup a working GProM system. These images are available on https://hub.docker.com/.
TLDR
Run the gprom repl on the included duckdb database:
docker run --rm -ti iitdbgroup/gprom:latest
Welcome to the GProM 1.0.3 command line interface
Please input a SQL command, '\q' to exit the program, or '\h' for help
======================================================================
Oracle SQL - DuckDB:/dbs/duckdb.db$PROVENANCE OF (SELECT sum(a) FROM r);
SUM(A) | PROV_R_A | PROV_R_B |
-------------------------------
6 | 1 | 1 |
6 | 1 | 2 |
6 | 2 | 1 |
6 | 2 | 3 |
Oracle SQL - DuckDB:/dbs/duckdb.db$\q
Use a different backend, your own database, the Datalog frontend:
# use sqlite db in the image
docker run --rm -ti iitdbgroup/gprom:latest gprom -backend sqlite -db /dbs/sqlite.db
# connect to postgres run in a different container
docker run --name my-postgres -e POSTGRES_PASSWORD=test -d postgres
docker run --rm --link my-postgres:postgres -ti iitdbgroup/gprom:latest gprom -backend postgres -host postgres -user postgres -port 5432 -passwd test -db postgres
# connect to postgres running on your local host (mac), user postgres
docker run --rm -ti iitdbgroup/gprom:latest gprom -backend postgres -host host.docker.internal -user postgres -passwd test -port 5432 -db postgres
# mount your own duckdb database
docker run --rm -v /Users/lord_pretzel/systems/duckdb:/mydbs -ti iitdbgroup/gprom:latest gprom -backend duckdb -db /mydbs/tpch-10gb.db
# use the Datalog frontend instead of the SQL frontend
docker run --rm -ti iitdbgroup/gprom:latest gprom -frontend dl
Overview of images
docker pull iitdbgroup/gprom: Oracle linux image with preinstalled GProM compiled that supports thepostgres,duckdb,sqlite,monetdb,oracle, andmssqlbackends. The image is build foramd64andarm64(the arm image does not support themssqlbackend). Per default runs gprom CLI using theduckdbbackend and connects to an example database/dbs/duckdb.db.docker pull iitdbgroup/gprom-build-env: This image is used for CI to build gprom in an environment with all dependencies preinstalleddocker pull iitdbgroup/gprom-dev: An image that with a desktop gui accessible through VNC. This is meant for debugging GProM on linux to use tools like valgrind.
Image iidbgroup/gprom
The iitdbgroup/gprom image has gprom installed under /gprom/install/bin/gprom. The source code git repository is available under /gprom/src. The image is setup to start the gprom CLI when a container is created based on the image. To override this change the --entrypoint to the command you would like to run, e.g.,
docker run -ti --rm --entrypoint /bin/bash iitdbgroup/gprom-ubuntu-example-sqlite
would create an interactive bash shell.
The included gprom is build with support for all backends: postgres, duckdb, sqlite, monetdb, oracle, and mssql. This image comes in an amd64 and arm64 version. The arm version does not support the mssql backend.