使用ReQL而不是命令行参数

时间:2015-12-28 06:23:47

标签: rethinkdb

我正在使用Docker,默认情况下只使用--bind all参数运行RethinkDB进程。

要加入群集,需要使用--join参数或配置文件。要使用Docker执行此操作,现在需要为此目的创建一个新的Docker镜像。

如何直接使用ReQL加入群集(从而无需创建新的Docker镜像)。我可以简单地连接到单独的实例,向系统表添加一行(如server_status),然后实例将连接到新输入的外部实例。

我可以为群集中的每个节点重复此过程。并且当节点出现故障时使事情变得更简单,否则我将不得不重新启动每个RethinkDB进程。

1 个答案:

答案 0 :(得分:0)

在Docker中,我们可以使用自定义命令覆盖调用RethinkDB进程的CMD,以自定义执行的RethinkDB进程。我们可以传递rethinkdb命令来加入第一个节点,而不是简单地调用docker run rethinkdb

使用official RethinkDB docker

的示例
docker run --rm -it -p 9080:8080 rethinkdb

然后我们可以检查它的IP地址,假设它是172.17.0.2,我们可以开始第二个:

docker run --rm -it -p 9081:8080 rethinkdb rethinkdb --join 172.17.0.2:29015 --bind all

访问RethinkDB仪表板,您现在应该看到两个节点。