本文已参与「新人创作礼」活动,一起开启掘金创作之路。
大家好,我是烤鸭:
上次分享了windows docker redis,这么快就不够用了,单机的不行,整个集群的,看了网上的教程都好麻烦,简单点。
单机的:blog.csdn.net/Angry_Mills…
下载redis镜像
参考单机的:
docker pull redis
本地目录和配置文件
启动挂载的目录建目录和配置文件,比如打算部署3主节点的集群
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
启动成功,如图:
常见问题
Connection refused
#bind 0.0.0.0
127.0.0.1 连接不通,尝试改成本机ip。
ipconfig
Waiting for the cluster to join
容器没有配置开放集群节点的映射端口,按照上文多映射一个端口就行。