网络方式 --net host
据说 windows mac上这样用无效,我测试了下这样真的无效 docker run -d —name redis-node-6 —net host -v /D/docker/redis-share/redis-node-6/redis.conf:/etc/redis/redis.conf —privileged=true redis:6.0.8 redis-server /etc/redis/redis.conf —cluster-enabled yes —appendonly yes —port 6006
- 不管怎能操作都无法进行外部连接
网络方式-p 6006:6006 -p 16006:16006
docker run -d —name redis-node-6 -p 6006:6006 -p 16006:16006 -v /D/docker/redis-share/redis-node-6/redis.conf:/etc/redis/redis.conf —privileged=true redis:6.0.8 redis-server /etc/redis/redis.conf —cluster-enabled yes —appendonly yes —port 6006
通过配置路由表实现ip互通
我没有配置成功
- 查看路由表
route print
- 查看dockerIP
ipconfig
太网适配器 vEthernet (WSL) - 添加路由 route -p add 172.17.0.0 MASK 255.255.255.0 xxx
通过配置文件固定IP
我操作成功
- 修改redis.cnf 配置文件中的
**cluster-announce-ip**
- cluster-announce-ip 192.168.0.65 (宿主机IP)
- 挂载和使用配置文件官方配置文件
/D/docker/redis-share/redis-node-6/redis.conf:/etc/redis/redis.conf redis:6.0.8 redis-server /etc/redis/redis.conf
特别说明
Redis集群中的各个节点,需要开放一个端口,同其他节点建立连接,用于接收心跳数据等操作。也就是说,redis-node1节点,开放6379端口供client连接时,同时提供16379端口(10000 + 6379),供其他Redis节点连接。