将java RiakClient连接到Docker中的Riak容器

将java RiakClient连接到Docker中的Riak容器,java,docker,boot2docker,riak,Java,Docker,Boot2docker,Riak,几天来,我一直在努力将Java连接到运行在Docker容器中的Riak。如果有人能帮助我,我将非常感激 我使用RiakClient作为JAVA的API。但我不知道如何在构造函数RiakClient中构建RiakClient 可能是我的容器设置错误。以下是我所做的: docker容器公开用于http的端口8098和用于协议缓冲区的端口8087。然后,我以这种方式打开了VirtualBox上的两个端口: -Host Ip: 127.0.0.1 - Host Port 8098 - Guest Por

几天来,我一直在努力将Java连接到运行在Docker容器中的Riak。如果有人能帮助我,我将非常感激

我使用RiakClient作为JAVA的API。但我不知道如何在构造函数RiakClient中构建RiakClient

可能是我的容器设置错误。以下是我所做的:

docker容器公开用于http的端口8098和用于协议缓冲区的端口8087。然后,我以这种方式打开了VirtualBox上的两个端口:

-Host Ip: 127.0.0.1 - Host Port 8098 - Guest Port 8098
-Host Ip: 127.0.0.1 - Host Port 8087 - Guest Port 8087
然后,我使用以下工具运行i容器:

docker run -d -p 8098:8098 -p 8087:8087 --name test -h localhost hectcastro/riak.
当我在容器中启动riak时,我得到一个错误,如:riak在15秒内启动失败。。。JAVA上的RiakClient不起作用

如果我在没有映射端口的情况下运行容器,riak可以正常工作。我真的不知道会发生什么


有什么办法解决这个问题吗?谢谢大家!

Riak的日志文件夹中有日志吗?这些端口在本地系统上可用吗?容器中是否有riak绑定到特定IP地址或通配符0.0.0.0?@Joe我不知道,我没有设置任何内容。我如何检查它?在配置文件中应该有一个不同侦听器的IP地址设置。我相信HTTP和协议缓冲区IP可以分别设置。@Joe我找到了这些:listener.HTTP.internal=0.0.0.0:8098 listener.protobuf.internal=0.0.0:8087