簡體   English   中英

無法連接到本地 datastax cassandra 在 docker 中運行

[英]Cannot connect to local datastax cassandra running in docker

我執行了這個 docker 命令來運行 datastax cassandra 的實例:

docker run -p 9042:9042 -e DS_LICENSE=accept --rm --name my-dse -d datastax/dse-server:6.8.2 -s

然后運行datastax studio的實例:

docker run -e DS_LICENSE=accept --link my-dse --name my-studio -p 9091:9091 -d datastax/dse-studio

當我在http://localhost:9091打開瀏覽器以創建連接時,出現此錯誤:

All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.exceptions.TransportException: [/127.0.0.1:9042] Cannot connect))

我檢查了在 docker 中運行的 cassandra 實例,我可以使用 cqlsh 進行連接:

$ docker exec -it my-dse bash -c "cqlsh -u cassandra -p cassandra"
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 6.8.0 | DSE 6.8.2 | CQL spec 3.4.5 | DSE protocol v2]
Use HELP for help.
cassandra@cqlsh> 

這是基於此處的說明: https://www.datastax.com/blog/2019/03/running-dse-microsoft-windows-using-docker

您需要指定my-dse:9042your_machine_ip:9042而不是127.0.0.1:9092localhost:9042 your_machine_ip:9042 主要問題是對於每個 Docker 鏡像,本地主機是該容器的 uniq,並且在 Studio 容器中沒有 DSE 進程監聽端口 9042

嘗試使用命令提示符下的以下命令查詢運行 my-dse 容器的容器的 IP 地址: docker 檢查 my-dse | 查找“IP 地址” 您應該能夠使用該 IP 地址作為 DataStax Studio 連接中的主機。

暫無
暫無

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

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