Docker部署Redis集群

拉取最新镜像

docker pull redis

创建挂载目录

mkdir -p /mnt/redis/{6380,6381}/data

创建容器

分别在a.youlai.storeb.youlai.storec.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
posted @ 2021-04-09 11:59  有来技术  阅读(572)  评论(0编辑  收藏  举报