在 docker 中遠端連接到 Mongodb Bi-connector
我最近安裝了 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 企業許可證。
別客氣 !