如何使用 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 及更高版本)中定义别名.
我在端口 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 及更高版本)中定义别名.