docker redis 集群部署

189 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

大家好,我是烤鸭:

 上次分享了windows docker redis,这么快就不够用了,单机的不行,整个集群的,看了网上的教程都好麻烦,简单点。

单机的:blog.csdn.net/Angry_Mills…

下载redis镜像

参考单机的:

docker pull redis

本地目录和配置文件

启动挂载的目录建目录和配置文件,比如打算部署3主节点的集群

7.png

6001/redis.conf,端口写是对应的目录 6001 - 6003

port 6001
#bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

requirepass aaa

启动redis镜像

第2个端口是集群节点的映射端口,如果不配无法加入集群

docker run --name redis-r1 -p 6001:6001 -p 16501:16501 -v D:\dev\docker\redis\6001\:/usr/local/etc/redis -d --restart=always  redis:latest redis-server /usr/local/etc/redis/redis.conf
​
docker run --name redis-r2 -p 6002:6002 -p 16502:16502 -v D:\dev\docker\redis\6002\:/usr/local/etc/redis -d --restart=always  redis:latest redis-server /usr/local/etc/redis/redis.conf
​
docker run --name redis-r3 -p 6003:6003 -p 16503:16503 -v D:\dev\docker\redis\6003\:/usr/local/etc/redis -d --restart=always  redis:latest redis-server /usr/local/etc/redis/redis.conf

加入集群

以6001的容器作为主节点

docker exec -it redis-r1 bash
​
redis-cli --cluster create 本机ip:6501 本机ip:6502 本机ip:6503 -a aaa

启动成功,如图:

6.png

2.png

常见问题

Connection refused

1.png

#bind 0.0.0.0

127.0.0.1 连接不通,尝试改成本机ip。

ipconfig

Waiting for the cluster to join

5.png

容器没有配置开放集群节点的映射端口,按照上文多映射一个端口就行。