gpt4 book ai didi

java - 使用 Java 连接到 Docker 上的多节点 Couchbase 集群

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:13 25 4
gpt4 key购买 nike

我使用以下命令创建了第一个 couchbase 服务器:

docker run -d --name db1 -p 8091-8094:8091-8094 -p 11210:11210 couchbase

我创建的第二个服务器没有端口参数,因为否则 docker 无法部署容器:

docker run -d --name db2 couchbase

现在我可以访问第一个容器的 Web 控制台并使用第二个容器创建集群。

问题是我无法连接到用 Java 创建的集群,因为没有为第二个容器发布端口 11210。我总是收到TimeoutException。我该如何解决这个问题?

最佳答案

您也必须公开第二个容器的端口,就像在第一个容器中所做的那样(这些“参数”是端口映射)。

很可能,您无法使用参数运行第二个容器,因为您尝试映射与第一个容器中相同的端口;又名,您尝试过此命令:

docker run -d --name db2 -p 8091-8094:8091-8094 -p 11210:11210 couchbase

这不起作用,因为您无法使用已在使用的端口。因此,请尝试映射到不同的端口集。例如:

docker run -d --name db2 -p 9091-9094:8091-8094 -p 11210:11210 couchbase

请注意我现在如何使用 9091-9094 而不是 8091-8094。上述命令的意思是:将容器中的端口 8091-8094 映射到主机中的端口 9091-9094。发送到主机上的 9091-9094 的任何请求都将自动转发到容器内的 8091-8094

然后您可以通过指定新端口 (9091-9094) 连接到第二个容器。

我建议您查看docker基础知识,尤其是端口映射的文档。

关于java - 使用 Java 连接到 Docker 上的多节点 Couchbase 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51148789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com