基於docker實現Redis哨兵模式

基於docker實現Redis哨兵模式

下載docker Redis鏡像

docker pull redis

運行容器

sudo docker run -d --name redis-0 -p 6380:6379 redis redis-server  # 作爲主機
sudo docker run -d --name redis-1 -p 6381:6379 redis redis-server  # 作爲從機
sudo docker run -d --name redis-2 -p 6382:6379 redis redis-server  # 作爲從機

docker 容器之間的網絡互連默認使用的bridge模式,簡單理解爲 各個容器之間處在一個局域網內,與外界隔離。外界想要訪問可以通過宿主機端口映射的方式。

查看容器信息

docker inspect redis-1

在這裏插入圖片描述

設置主機與從機

,Redis的主從配置十分簡單,主機不用做任何配置,而從機也只需要一條命令就好。
使用redis-cli 工具連接運行在docker 容器裏面的redis server。此時用的是主機映射過去的端口號,所以是 6381因爲docker會將對於宿主機6381端口的請求轉發到這個容器的6379端口。如果使用容器的IP地址連接 則應該爲 ./redis-cli -h 172.17.0.3 -p 6379
在這裏插入圖片描述

驗證

給主機設置數據
在這裏插入圖片描述
在從機上取數據

在這裏插入圖片描述
在這裏插入圖片描述

新建sentinel.conf文件

在文件中只需簡單配置一句話,完整的配置文件可以參考redis安裝目錄下的sentinel.conf文件。

sentinel monitor host6380 172.17.0.2 6379 1

sentinel monitor <maseter-name> <ip> <redis-port> <quorum>
<maseter-name> : 給主機起個名字
<ip> : 主機的IP地址與端口號
<quorum> : 當主機掛了以後,從機要獲取多少票才能成爲主機。

開啓哨兵監控

./redis-sentinel /home/crxk/Documents/redis/sentinel.conf

在這裏插入圖片描述
查看主機信息
在這裏插入圖片描述
查看從機信息
在這裏插入圖片描述
把主機直接關閉,此時查看運行哨兵程序的那個命令框,稍等一會發現系統自動進行選舉,然後確定新的主機
在這裏插入圖片描述
在這裏插入圖片描述
此時過程中應該注意,對於容器之間的互連,以及宿主機與容器之間的互連,要多通過容器的局域網IP地址來進行訪問。

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