docker搭建redis集群并配置公网互相连通

解决方案:

每个Redis集群节点都需要打开两个TCP连接。

    用于为客户端提供服务的普通Redis TCP端口,例如6379,加上通过向数据端口添加10000获得的端口:16379,第二个端口用于集群总线,即使用二进制协议的节点到节点通信通道。节点使用集群总线进行故障检测,配置更新,故障转移授权等。客户端永远不应尝试与集群总线端口通信,但始终使用正常的Redis命令端口,但请确保在防火墙中打开两个端口,否则Redis群集节点将无法通信。

  正式因为上面的解释,可以知道出现该问题的解决方案就是先放通防火墙的端口,再放开安全组中的端口。
出现下面问题:

在这里插入图片描述
去启动时绑定的data目录下把数据删除即可.

简单记录一下通过docker配置启动流程
 docker run -d --network=host --name redis-node1 -v /data/redis/data/node1:/data -v /data/redis/conf/redis.conf:/etc/redis/redis.conf docker.io/redis:latest redis-server /etc/redis/redis.conf --cluster-enabled yes --cluster-config-file nodes-node-1.conf --port 6379
 docker run -d --network=host --name redis-node2 -v /data/redis/data/node2:/data -v /data/redis/conf/redis.conf:/etc/redis/redis.conf docker.io/redis:latest redis-server /etc/redis/redis.conf --cluster-enabled yes --cluster-config-file nodes-node-2.conf --port 6380
 docker run -d --network=host --name redis-node3 -v /data/redis/data/node3:/data -v /data/redis/conf/redis.conf:/etc/redis/redis.conf docker.io/redis:latest redis-server /etc/redis/redis.conf --cluster-enabled yes --cluster-config-file nodes-node-3.conf --port 6381

-d:后台启动
–network=host:网络模式请参见官网:https://docs.docker.com/network/
-v:文件挂载,左边为宿主机地址,右边为容器内地址
–port:–network=host模式下的端口号
其他参数参见网上资源。

进入任意一个容器
docker exec -it redis-node1 /bin/bash

进入容器执行:

redis-cli --cluster create 119.91.155.243:6379  119.91.155.243:6380  119.91.155.243:6381 --cluster-replicas 0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值