mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-04-25 21:56:01 +03:00
[GH-ISSUE #215] Adding Drivers to Custom Dockerfile #58
Labels
No labels
AS
can't reproduce
can't reproduce
deployment
development
documentation
duplicate
duplicate
ee
enhancement
external
new driver
performance
pull-request
third party issue
wait for response
wait for review
wontfix
x:Oracle
x:cassandra
x:clickhouse
x:db2
x:duckdb
x:greenplum
x:h2
x:h2gis
x:hana
x:hive
x:intersystems
x:kyuubi
x:maria
x:mongo
x:mysql
x:postgresql
x:presto
x:sql server
x:sqlite
x:teradata
x:trino
xf:accessibility
xf:administration
xf:ai
xf:authentication
xf:aws
xf:commit-mode
xf:connection
xf:dark theme
xf:data editor
xf:datatransfer
xf:dba
xf:driver management
xf:erd
xf:filters
xf:i18n
xf:i18n
xf:installer
xf:json
xf:kerberos
xf:ldap
xf:local config
xf:log viewer
xf:metadata
xf:metadata editor
xf:navigator
xf:okta
xf:query manager
xf:resource manager
xf:scripts
xf:sql editor
xf:tasks
xf:ui/uix
xo: Firefox
xo:eclipse
xo:internet explorer
xo:macos
xp:major
xrn:internal
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/cloudbeaver#58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jefflester on GitHub (Nov 12, 2020).
Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/215
I am trying to add a driver to the CloudBeaver Docker container and am running into some issues. I believe this is similar to issue #208. Reading the Wiki, this was how I expected things would work from a Dockerfile perspective:
Dockerfile:
Driver
pom.xml:Plugin XML:
```However, it appears these instructions expect the user to be building from source with the
build.shscript after the relevant files have been updated/added. Going off that, it looks like thecloudbeaversource is added to the Docker image after thebuild.shscript is run, per the Dockerfile.Is there an interim Maven command I need to add to the image entrypoint to get this to work? The default entrypoint
ENTRYPOINT ["./run-server.sh"]does not register the added drivers since no build commands are executed.Thanks for any and all clarification, and I am very excited to start using this! I'm happy to create a doc PR to update the instructions for adding drivers to a custom Dockerfile if that would be helpful as well.
@jefflester commented on GitHub (Nov 18, 2020):
I confirmed that the
COPY cloudbeaver /opt/cloudbeaverDockerfile instruction is grabbing the build artifacts resulting frombuild.shscript. So it does in fact appear that the only way to add drivers to your Dockerized CloudBeaver is to design your own Dockerfile and to copy over your own built distribution.If I'm wrong and there's an easier way to do this, please let me know.
@serge-rider commented on GitHub (Nov 19, 2020):
You don't need to change Dockerfile in order to add drivers. Dockerfile copies all drivers configured in pom.xml and pluginx.xml.
We plan to add Presto as pre-configured driver in the next version (1.3).
@jefflester commented on GitHub (Nov 19, 2020):
Thanks for confirming, @serge-rider. A couple of quick followup questions:
Thank you again! We're really excited to start using this. :)
@darint00 commented on GitHub (Nov 20, 2020):
Yes, please explain how to add a driver to the container. I have an Informix driver I'd like to add. And the only thing, as mentioned above, I can think of is ..
If there is another way, easier way, please let us know.
@mskyttner commented on GitHub (Dec 16, 2020):
I too would like to add a driver but didn't figure it out.
This is a draft multi-stage Dockerfile that builds in the first step and then moves build results in the second step (probably some things are moved which doesn't need to be moved, I'm a bit unfamiliar with the build tools).
But where would I add my jdbc driver?
@momiji commented on GitHub (Jan 8, 2021):
does it help #259 ?
@jefflester commented on GitHub (Jan 12, 2021):
@momiji It adds some clarity––it looks like your flow involves cloning both DBeaver and Cloudbeaver, making adjustments to each repository, and then building them with the changes. Please correct me if I'm wrong.
I'm interested in using the provided Docker image and extending it through my own Dockerfile without the need to modify and build both the DBeaver and CloudBeaver repositories. If that's the required flow, I'll probably wait until release 1.3 comes out for native support of Presto JDBC drivers. Speaking of which, @serge-rider do you know if you're adding the Trino (formerly PrestoSQL) or the PrestoDB drivers?
In terms of adding new drivers to the Docker image, this is how I'd envision it working:
Or by simply mounting the files to the base CloudBeaver image without modifying it through a Dockefile at all.
Thanks again, everyone!
@momiji commented on GitHub (Jan 12, 2021):
Hi,
Absolutely, you're right.
Concerning your idea ti build from docker image, what you're proposing cannot work, because adding the pom.xml is not for the single purpose of adding a new file on the filesystem, but to add a new sub-project in the project building process (which uses maven, which uses pom.xml...).
So my understanding is you definitely need to rebuild the project... Then, rebuilding one or two, no difference especially as the build.sh script rebuilds both...
Regards.
@serge-rider commented on GitHub (Feb 1, 2021):
Please see instruction how to add new drivers: https://github.com/dbeaver/cloudbeaver/wiki/Adding-new-database-drivers
@kseniiaguzeeva commented on GitHub (Feb 11, 2021):
Please ask to reopen the ticket if you have some additional questions.