docker - 在 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 操作。
解决方案
如果您的应用程序没有在 Docker 主机内运行,据我所知,您不能这样做(我希望被 Docker 专家证明是错误的)。
Couchbase 客户端需要访问集群中的每个节点,而使用 Docker,您只能将一个图像转发到主机外部的给定端口。(仅供参考,有一个名为 sdk-doctor 的工具,您可以使用它来验证名为SDK Doctor的连接/网络问题)。
我建议在 Docker 主机内运行你的 golang 应用程序(使用 docker-compose 是通常的方式)。
另外,我强烈建议升级到更新版本的 Couchbase。
推荐阅读
- python - 如何删除数据框中间隔之间的值
- spring - 如何从 Mono 平面图中获取 Flux?
- java - JAVA:如何以低内存占用写入 .xlsx
- ubuntu - CMake 在简单的测试程序上失败
- reactjs - TypeError:尝试在 Firefox 中的 POST 期间获取资源时出现 NetworkError
- ffmpeg - FFMPEG 将音轨合并为一个并使用 NVENC 进行编码
- unicode - Unicode 转换为 ASCII 如何知道将 Ł 映射到 L
- c - C编程登录功能
- c# - SkiaSharp 基本动画速度在不同屏幕尺寸上有所不同
- python - 如何在嵌套列表中添加输入值?