配置 riak-ruby 以使用 docker 集群

Configuring riak-ruby to work with docker cluster

我安装了一个带有以下内容的 riak 集群:http://basho.com/posts/technical/riak-quick-start-with-docker/

http://basho.github.io/riak-ruby-client/ 上尝试非常基本的命令时,客户端在 a.store

中挂起

我 运行 我的码头工人在 virtualbox 的虚拟机中,它的 ip 是 192.168.99.101

riak 集群容器是

5c896346de61        hectcastro/riak     "/sbin/my_init --quie"   46 seconds ago       Up 44 seconds       0.0.0.0:32777->8087/tcp, 0.0.0.0:32776->8098/tcp   riak05
f32b9af999cf        hectcastro/riak     "/sbin/my_init --quie"   50 seconds ago       Up 48 seconds       0.0.0.0:32775->8087/tcp, 0.0.0.0:32774->8098/tcp   riak04
891e5e63a4b2        hectcastro/riak     "/sbin/my_init --quie"   About a minute ago   Up 58 seconds       0.0.0.0:32773->8087/tcp, 0.0.0.0:32772->8098/tcp   riak03
65848cd3e218        hectcastro/riak     "/sbin/my_init --quie"   About a minute ago   Up About a minute   0.0.0.0:32771->8087/tcp, 0.0.0.0:32770->8098/tcp   riak02
39ad8ded2477        hectcastro/riak     "/sbin/my_init --quie"   About a minute ago   Up About a minute   0.0.0.0:32769->8087/tcp, 0.0.0.0:32768->8098/tcp   riak01

我已将 ruby 中的客户端设置为

client = Riak::Client.new(pb_port: 32770, host: "192.168.99.101")

我是不是漏了什么?

在您的容器容器信息中,

0.0.0.0:32771->8087/tcp, 0.0.0.0:32770->8098/tcp

8098 是默认的 HTTP 端口,8087 是默认的协议缓冲区端口。
除非您更改了 Riak 配置中的端口,否则您可能需要使用 32771 作为 pb_port.