容器内与voltdb的连接失败,连接被拒绝

时间:2019-01-15 14:27:09

标签: docker sqlcmd voltdb

根据docker hub(https://hub.docker.com/r/voltdb/voltdb-community/)上的信息,在将节点名添加到我的/ etc / hosts文件后,我能够启动三个节点。我执行的命令:

docker pull voltdb/voltdb-community:latest

docker network create -d bridge voltLocalCluster
docker run -d -P -e HOST_COUNT=3 -e HOSTS=node1,node2,node3 --name=node1 --network=voltLocalCluster voltdb/voltdb-community:latest
docker run -d -P -e HOST_COUNT=3 -e HOSTS=node1,node2,node3 --name=node2 --network=voltLocalCluster voltdb/voltdb-community:latest
docker run -d -P -e HOST_COUNT=3 -e HOSTS=node1,node2,node3 --name=node3 --network=voltLocalCluster voltdb/voltdb-community:latest
docker exec -it node1 bash

sqlcmd
> Output:
Unable to connect to VoltDB cluster
    localhost:21212 - Connection refused

根据日志文件,voltdb已启动并且正在正常运行。 有谁知道为什么拒绝连接?

2 个答案:

答案 0 :(得分:1)

您必须遵循给定的示例并修复您的 HOSTS 参数。

它应该是 HOSTS = node1,node2,node3 而不是您的,因此您可以让服务知道群集中的所有节点。

答案 1 :(得分:0)

在docker-entrypoint.sh中可能存在一个错误,我现在还没有看到,因为我不需要连接到容器中并手动运行这些命令,但是这样做可以解决我的问题:

docker exec -it node1 bash
voltdb init
voltdb start