簡體   English   中英

無法連接到Docker上的Firebird服務器

[英]Can't connect to a firebird server on docker

我是macOS用戶,並且在使用firebird創建數據庫時遇到了奇怪的錯誤。 我看到有一些帶有firebird的碼頭容器運行得很好(我能夠創建數據庫,執行查詢等),但是當我嘗試從本地ISQL或razorSQL客戶端(通過JDBC)進行連接時,我感到有些奇怪錯誤,例如“數據庫不可用”或“無法打開文件”

我也不確定ISQL CONNECT字符串是如何工作的,因為我看到的每個站點都有一個不同的站點。

我得到了這個Docker鏡像:( https://hub.docker.com/r/jacobalberty/firebird/

我創建了這樣的容器:

docker run -d --name firebird -p 3050:3050 -v /data/firebird/databases:/databases jacobalberty/firebird:2.5-ss

我的docker-machine IP是:

192.168.99.100

我試圖這樣連接:

CONNECT '0.0.0.0:3050://databases/test.fdb' user 'SYSDBA' password 'masterkey';
unavailable database

並且也這樣:

CONNECT '192.168.99.100:/databases/test.fdb' user 'SYSDBA' password 'masterkey';
connection rejected by remote interface


CONNECT '192.168.99.100:3050:/databases/test.fdb' user 'SYSDBA' password 'masterkey';
 Statement failed, SQLSTATE = 08001
 unavailable database

當我進入docker容器時,文件在那里:

root@e4212b9f9d16:/databases# pwd
/databases
root@e4212b9f9d16:/databases# ls
test.fdb

另外,我不確定如何檢查Firebird服務器是否正在運行(我想這是因為我可以“連接”到容器內的數據庫” ..但Docker容器已確定啟動並正在運行-telnet成功完成了在ip和port上)

我也嘗試使用容器IP(172.17.0.2),但是超時

我最熟悉mysql和SQLite之前從未接觸過firebird數據庫,並且當用戶獲得此數據庫時,我必須對其進行模擬,使用偽造數據開發一個應用程序,然后將其連接到真實的firebird(因此,更改數據庫是不可取的)

大多數問題是連接字符串,它應該是<host>/<port>:<database-path-or-alias> ,其中/<port>保留默認為端口3050。

這解決了您所有的問題,除了

 CONNECT '192.168.99.100:/databases/test.fdb' user 'SYSDBA' password 'masterkey'; connection rejected by remote interface 

由於該連接字符串是有效的。

此錯誤意味着您可以連接到服務器,但是連接被拒絕。 例如,當您使用Firebird 3,但使用Firebird 2.5 ISQL / fbclient庫進行連接,並且沒有放寬Firebird 3的安全設置時,可能會發生這種情況(請參閱Firebird 3發行說明中的​​“ 傳統身份驗證 ”)。

因此,關於“創建您的Firebird服務器”的標准文檔沒有提及,但是您在firebird.conf上,變量RemoteBindAddress必須為空

文件:

/etc/firebird/2.5/firebird.conf

行已更改:

RemoteBindAddress =
#RemoteBindAddress = localhost

感謝所有

為了找出服務器是否正在運行,請使用:

docker ps

為了確定服務器是真正啟動還是啟動時出錯,請在不使用-d的情況下啟動容器,並在運行時查看日志消息:

docker run --name firebird -p 3050:3050 -v /data/firebird/databases:/databases jacobalberty/firebird:2.5-ss

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM