如何使用 docker 文件路径连接到 firebird 的 docker 图像?

How to connect into firebird's docker image, using a docker filepath?

我在端口 3050 上有一个 firebird 数据库映像 运行,我需要通过 url 访问该映像中的一个文件,因此我可以创建一个 firebird 连接(是的,firebird 需要一个文件路径) ,但我无法使用 url 找到文件 有没有办法公开 docker 中的文件并使其可通过 url 访问?例如 localhost:3050/databases/test.fdb << 我需要通过 dbeaver

连接到这个

its runnning normally on the 3050

heres the file I need to access via url (thats inside the container) (位于 /databases)

How I'm trying to connect

您需要使用绝对路径/databases/DREAMCLUB.FDB,而不是相对路径databases/DREAMCLUB.FDB。另见 Jaybird FAQ on JDBC URLs(Jaybird 是 DBeaver 使用的 Firebird JDBC 驱动程序):

On Linux the root / should be included in the path. A database located on /opt/firebird/db.fdb should use (note the double slash after port!):

jdbc:firebirdsql://host:port//opt/firebird/db.fdb 

Jaybird JDBC Driver Java Programmer's Manual 中也提到了类似的内容:

On Unix platforms the path must include the root, as the path is otherwise interpreted relative to a server-dependent folder. Having to include the root has the effect that a database in /var/firebird/employee.fdb needs to use a double // after the host name (and port) in the connection string: jdbc:firebirdsql://localhost//var/firebird/employee.fdb

顺便说一句,Firebird 不要求您使用文件路径,您还可以在 aliases.conf(Firebird 2.5 及更早版本)或 databases.conf(Firebird 3.0 及更高版本)中定义别名.