Debian

在 docker 中遠端連接到 Mongodb Bi-connector

  • March 11, 2017

我最近安裝了 mongodb Bi-connector,以便使用 Tableau 視覺化我的數據,我使用 debian 映像成功地將其安裝在 docker 容器中。連接器成功訪問了我的遠端 mongo 實例並生成了正確的模式。

我嘗試連接到我的容器並安裝了一個 mysql 客戶端以檢查連接器是否正常工作,這很好: 結果

但是當我退出容器並從我的主機嘗試時,這就是我得到的(我將 3307 容器的埠映射到我的 9015 主機埠)

$ mysql –host localhost –protocol tcp –port 9015 ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 2

我嘗試過使用不同的 mysql 客戶端版本,我嘗試過映射不同的埠,我嘗試過 127.0.0.1 而不是 localhost,但沒有任何效果。

所以我想知道,連接器是否必須與 mysql 客戶端或 tableau 位於同一台機器上?

好吧,我發現了問題。現在它就像一個魅力!

事實證明,當在容器中時,mongodrdl 執行檔需要將 –addr 選項設置為容器的主機名作為容器名稱(不適用於 localhost 或 127.0.0.1),如下所示:

/usr/local/bin/mongosqld –addr mongo-bi-connector:3307 –schema schema.drdl –mongo-uri $MONGO_URI

我已經在 github 上發布了我的原始碼,並在 docker hub 上發布了一個 docker 鏡像。

https://github.com/emmanuelvisage/docker-mongo-bi-connector https://hub.docker.com/r/visage/mongo-bi-connector/

我也添加了身份驗證支持

請記住,這包括許可內容,並且需要 Mongodb 企業許可證。

別客氣 !

引用自:https://serverfault.com/questions/836458