首页 > 解决方案 > 在 Windows 10 上的 docker 中运行具有多个节点的 couchbase 集群

问题描述

我创建了一个couchbase 4.0带有单个节点的 docker 容器windows 10。并在主机环回中添加节点 ip,并在虚拟框中添加转发端口,以便我在主机中运行的应用程序中的 couchbase 客户端可以与集群中的节点连接。当集群中有单个节点时,我能够连接并执行数据库操作。

但是,当我在 Windows 10 上的 docker 中创建多个节点集群时,我无法进行 db 操作。在主机中运行的 golang 应用程序中,我收到了unable to complete action after 6 attemps有关获取和设置操作的消息。

如何在 Windows 机器的同一主机上的 docker 中运行多个节点的 couchbase 集群,以便我可以连接集群并从在主机中运行的应用程序执行 db 操作。

标签: dockercouchbase

解决方案


如果您的应用程序没有在 Docker 主机内运行,据我所知,您不能这样做(我希望被 Docker 专家证明是错误的)。

Couchbase 客户端需要访问集群中的每个节点,而使用 Docker,您只能将一个图像转发到主机外部的给定端口。(仅供参考,有一个名为 sdk-doctor 的工具,您可以使用它来验证名为SDK Doctor的连接/网络问题)。

我建议在 Docker 主机内运行你的 golang 应用程序(使用 docker-compose 是通常的方式)。

另外,我强烈建议升级到更新版本的 Couchbase。


推荐阅读