我在couchbase 4.0
上创建了一个带有单个节点的windows 10
docker容器。并在主机环回中添加了节点ip,并在虚拟框中添加了转发端口,以便在主机中运行的我的应用程序中的长沙发客户端可以与群集中的节点连接。当群集中有单个节点时,我能够连接并执行数据库操作。
但是,当我在Windows 10的docker中创建多个节点群集时,我无法执行数据库操作。在主机上运行的golang应用程序中,我在get和set操作上收到消息unable to complete action after 6 attemps
。
如何在Windows机器的同一主机上的docker中运行多个节点的长沙发集群,以便我可以与集群连接并从在主机中运行的应用程序执行数据库操作。
最佳答案
据我所知,如果您的应用程序未在Docker主机中运行,您将无法执行此操作(我希望被Docker专家证明是错误的)。
Couchbase客户端需要访问群集中的每个节点,并且使用Docker您只能将一个镜像转发到主机外部的给定端口。 (仅供引用,有一个名为sdk-doctor的工具,可用于验证称为SDK Doctor的连接/网络问题)。
我建议在Docker主机内部运行您的golang应用程序(通常使用docker-compose方法)。
另外,我强烈建议升级到最新版本的Couchbase。
关于docker - 在Windows 10的Docker中运行具有多个节点的Couchbase群集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62796774/