Docker部署Redis集群
拉取最新镜像
docker pull redis
创建挂载目录
mkdir -p /mnt/redis/{6380,6381}/data
创建容器
分别在a.youlai.store
、b.youlai.store
、c.youlai.store
执行以下命令完成容器的创建,中cluster-announce-ip
需改为当前实施的服务器IP地址
6380节点
docker create --name redis-6380 --restart=always --net host \
-v /mnt/redis/6380/data:/data redis \
--requirepass 123456 \
--masterauth 123456 \
--port 6380 \
--appendonly yes \
--cluster-enabled yes \
--cluster-announce-ip a.youlai.store
6381节点
docker create --name redis-6381 --restart=always --net host \
-v /mnt/redis/6381/data:/data redis \
--requirepass 123456 \
--masterauth 123456 \
--port 6381 \
--appendonly yes \
--cluster-enabled yes \
--cluster-announce-ip a.youlai.store
- cluster-enabled:是否启动集群,默认no
- appendonly:是否开启持久化,默认no
- cluster-announce-ip:对外提供访问的IP,如果集群机器不在局域网内的服务器需填写外网域名或IP
启动节点容器
docker start redis-6380 redis-6381
开放端口
除了Redis应用监听端口6380、6381之外,还要开放集群总线端口,对应的是16380和16381
创建redis集群
docker exec -it redis-6380 redis-cli -a 123456 --cluster create 47.117.115.107:6380 47.117.115.107:6381 101.132.25.57:6380 101.132.25.57:6381 106.75.231.227:6380 106.75.231.227:6381 --cluster-replicas 1
- --cluster-replicas 1 指定从节点的个数
测试
集群连通测试
docker exec -it redis-6380 redis-cli -h b.youlai.store -p 6381 -a 123456 -c
docker exec -it redis-6380 redis-cli -h a.youlai.store -p 6381 -a 123456 -c
集群节点
cluster nodes
集群信息
cluster info