跳转到主要内容

主动复制入门

建立网络、运行主动复制服务器、连接客户端并进行测试#

为我们的 docker 容器建立一个网络。#

$ docker network create mynetwork

您可以使用 $ docker network ls 查看网络

启动节点#

$ docker run --name mynode1 --net mynetwork eqalpha/keydb

使用自定义配置文件启动:#

$ docker run -v /path-to-config-file/redis.conf:/etc/keydb/redis.conf --net mynetwork --name mynode1 -d eqalpha/keydb

启动并更新当前配置文件:#

$ docker run --net mynetwork --name mynode1 -d eqalpha/keydb keydb-server /etc/keydb/redis.conf --active-replica yes

以下内容可能有助于更新从我们的 github 页面获取的 redis.config 文件,或者您也可以使用本示例中包含的已更新文件:#

注释掉 “bind 127.0.0.1”,将 "protected-mode" 从 yes 改为 no。如果您想启用主动复制支持,请取消 "active-replica yes" 的注释。

获取您刚创建的节点的 IP 地址:#

$ docker inspect -f '{{ (index .NetworkSettings.Networks "mynetwork").IPAddress }}' mynode1

如果您想运行一个客户端来连接此网络上的节点

$ docker run -it --net mynetwork eqalpha/keydb keydb-cli -h <ip-address-of-node> -p 6379

测试:#

尝试创建两个节点,然后如上所述,为每个节点连接一个客户端。使用 keydb-cli 连接到 keydb 服务器后,通过 REPLICAOF <your-node-ip-address>:6379 命令使每个节点成为另一个节点的副本。

一旦两个节点互为副本,您可以在一个客户端中写入 SET testval1 hello,然后在另一个客户端中写入 GET testval1,您应该会看到响应 "hello"。