Connecting to the official eXist-db Docker image
Posted: Thu Jun 24, 2021 10:04 pm
Hi,
I have an exist-db 5.2.0 instance running locally in a Docker container. It is a minimal image you obtain from the official exist-db git repository. See the link below for description. The right tag is "release" not "latest" in my case.
https://github.com/eXist-db/exist/tree/ ... s-filtered
I use oxygen 23.1.
In order to connect oxygen to exist I copied the lib directory from the container to a location that oxygen can access.
e.g. via the command
The container seemed to work just fine, however, connecting to oxygen did not. The lib folder contains one file only, exist.uber.jar
From this thread (https://github.com/eXist-db/documentati ... -591384376) I know that exist is built into this uber.jar alone, and how jars can be added. Instead of adjusting the Dockerfile from exist's git repository, I used the exist image as a baseline for a new image. The corresponding Dockerfile looks like so
The jars inside the build subdirectory are taken from a local full-fat exist-db 5.2.0 instance which I successfully could connect oxygen to. I copied the files from the directory localhost_8080, as I assumed these are the required for oxygen to work. All the jars seem to be referenced in the XML-files inside the container's exist/etc directory by default. From the above mentioned thread I assumed these references are mandatory.
This way I could connect oxygen to this minimalistic exist-db image. In oxygen I can manipulate the database and the result seems as expected.
Nonetheless, I was wondering if these jars are actually all oxygen needs or I am missing out important details.
I hope you can give me some advice on this.
Best regards,
Nils
I have an exist-db 5.2.0 instance running locally in a Docker container. It is a minimal image you obtain from the official exist-db git repository. See the link below for description. The right tag is "release" not "latest" in my case.
https://github.com/eXist-db/exist/tree/ ... s-filtered
I use oxygen 23.1.
In order to connect oxygen to exist I copied the lib directory from the container to a location that oxygen can access.
e.g. via the command
Code: Select all
docker cp container_name:/exist/lib /path/to/location/on/your/system
From this thread (https://github.com/eXist-db/documentati ... -591384376) I know that exist is built into this uber.jar alone, and how jars can be added. Instead of adjusting the Dockerfile from exist's git repository, I used the exist image as a baseline for a new image. The corresponding Dockerfile looks like so
Code: Select all
FROM existdb/existdb:release
COPY build/*.jar /exist/lib/
This way I could connect oxygen to this minimalistic exist-db image. In oxygen I can manipulate the database and the result seems as expected.
Nonetheless, I was wondering if these jars are actually all oxygen needs or I am missing out important details.
I hope you can give me some advice on this.
Best regards,
Nils