Docker下配置redis的主從複製和哨兵機制

今天來講如何實現在docker下配置redis的主從複製(讀寫分離)和哨兵機制,希望能給廣大博友帶來幫助。

Docker配置redis主從配置

1.拉取docker鏡像

docker ps -a

在這裏插入圖片描述
由此可見 只有一個redis 主配置

2.配置兩個從配置
docker run -name slave -p 6380:6379 -d redis
docker run --name slave1 -p 6381:6379 -d redis

3.再次查看docker鏡像
docker ps -a
在這裏插入圖片描述
4.開始主從配置

4.1先查看內網的ip地址
docker inspect 872a7feaa6fd
在這裏插入圖片描述
3個redis的內網ip地址爲:

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

4.2進入容器內部 查看當前redis角色(主還是從)
在這裏插入圖片描述
目前三個都是master狀態

4.3、使用redis-cli命令修改redis-6380、redis-6381的主機爲172.17.0.2 6379
在這裏插入圖片描述
在這裏插入圖片描述

4.4、查看redis-6379是否已經擁有2個從機
在這裏插入圖片描述

由此可見 connected_slaves:2 擁有2個從機

Docker配置redis哨兵機制

5、配置Sentinel哨兵

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

文件內容爲:sentinel monitor mymaster 172.17.0.2 6379 1
在這裏插入圖片描述
出現bash: vim: command not found

解決:1、apt-get update 2、apt-get install vim

最後,啓動Redis哨兵:
在這裏插入圖片描述

6.測試

6.1打開多個窗口(便於觀察)
在這裏插入圖片描述
6.2關閉主配置(Master)
docker stop 872a7feaa6fd

查看其他兩個是否選舉成功
在這裏插入圖片描述
在這裏插入圖片描述

完成。

發佈了41 篇原創文章 · 獲贊 136 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章