我有一个运行在3050端口上的firebird DB映像,我需要通过url访问该映像中的一个文件,这样我就可以创建一个firebird连接(是的,firebird需要一个文件路径(,但我用url找不到文件有没有一种方法可以在docker中公开一个文件,并通过url访问它?示例localhost:3050/databases/test.fdb<lt;我需要通过dbeaver 连接到这个
它在3050 上正常运行
这是我需要通过url访问的文件(在容器内((位于/databases上(
我如何尝试连接
您需要使用绝对路径/databases/DREAMCLUB.FDB
,而不是相对路径databases/DREAMCLUB.FDB
。另请参阅关于JDBC URL的Jaybird常见问题解答(Jaybird是DBeaver使用的Firebird JDBC驱动程序(:
在Linux上,根
/
应包含在路径中。数据库位于/opt/firebird/db.fdb
上的端口后!(:jdbc:firebirdsql://host:port//opt/firebird/db.fdb
在Jaybird JDBC驱动程序Java程序员手册中也有类似的提及:
在Unix平台上,路径必须包括根,因为路径是以其他方式相对于依赖于服务器的文件夹进行解释。不得不包含根具有数据库
/var/firebird/employee.fdb
需要在主机之后使用双//
连接字符串中的名称(和端口(:jdbc:firebirdsql://localhost//var/firebird/employee.fdb
此外,Firebird不需要使用文件路径,您也可以在aliases.conf
(Firebird 2.5及更早版本(或databases.conf
(Firebird3.0及更高版本(中定义别名。