Connecting to the official eXist-db Docker image
Oxygen general issues.
-
- Posts: 2
- Joined: Thu Jun 24, 2021 6:04 pm
Connecting to the official eXist-db Docker image
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
-
- Posts: 2879
- Joined: Tue May 17, 2005 4:01 pm
Re: Connecting to the official eXist-db Docker image
Hello,
Have you tried to Configure an eXist Connection Using the Built-in Wizard?
TBH, I'm not sure if it's possible to do this with the eXist-db instance from the Docker container. Oxygen expects "exist/webstart/exist.jnlp" path to be accessible at the provided Host and Port.
e.g.
https://exist-db.org/exist/webstart/exist.jnlp
Even though WebStart is now obsolete technology, Oxygen makes use of the list of jars from the WebStart JNLP file and also retrieves those jars from the eXist-db server when using the wizard to create a connection.
If the connection wizard fails, see the docs on How to Configure an eXist Connection Manually. In short Oxygen needs:
Adrian
Have you tried to Configure an eXist Connection Using the Built-in Wizard?
TBH, I'm not sure if it's possible to do this with the eXist-db instance from the Docker container. Oxygen expects "exist/webstart/exist.jnlp" path to be accessible at the provided Host and Port.
e.g.
https://exist-db.org/exist/webstart/exist.jnlp
Even though WebStart is now obsolete technology, Oxygen makes use of the list of jars from the WebStart JNLP file and also retrieves those jars from the eXist-db server when using the wizard to create a connection.
If the connection wizard fails, see the docs on How to Configure an eXist Connection Manually. In short Oxygen needs:
- The exist.jar file located in the base directory.
- All JAR files in the lib/core/ directory.
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service