拉取最新鏡像
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