Docker下redis的主從配置

先部署三臺redis服務器,6379,6380,6381

 

docker run --name elvis.redis6381 -d \
-p 6381:6379 \
-v `pwd`/data:/data \
daocloud.io/library/redis

image.png

 

測試容器:

image.png

 

看容器內網的ip地址:

image.png

image.png

image.png

 


3個redis的內網ip地址爲:

 

redis-6379:172.17.0.5:6379
redis-6380:172.17.0.4:6379
redis-6381:172.17.0.3:6379

 

進入docker容器內部,查看當前redis角色(主還是從):

image.png


目前三個都是master狀態

 


使用redis-cli命令修改redis-6380、redis-6381的主機爲172.17.0.1:6379:

image.png

 


查看redis-6379是否已經擁有2個從機,connected_slaves:2

image.png

 

配置Sentinel哨兵:

進入3臺redis容器內部進行配置,在容器根目錄裏面創建sentinel.conf文件

文件內容爲:sentinel monitor mymaster 172.17.0.1 6379 1

image.png

啓動哨兵配置:

image.png

測試:

關閉master

image.png

其他哨兵展示

image.png

查看172.17.0.3:

image.png

哨兵配置完成!!!

 

代碼中應用:


工程中application.yml的修改爲

 

# name of Redis server 哨兵監聽的Redis server的名稱

spring.redis.sentinel.master=mymaster

# comma-separated list of host:port pairs  哨兵的配置列表

spring.redis.sentinel.nodes=192.168.155.56:26379,192.168.155.55:26379,192.168.155.45:26379

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章