基於docker配置redis的主從複製

2021-10-24 01:59:33 字數 2107 閱讀 4311

1. 拉取docker映象:

docker pull redis
2. 掛載外部配置:

建立目錄和配置檔案redis.conf

其中主redis的redis.conf:

bind 0.0.0.0

protected-mode no

兩個從redis的redis.conf:

bind 0.0.0.0

protected-mode no

replicaof 172.17.0.2 6379

3. 啟動3個redis容器服務,分別使用到6379、6380、6381埠:
docker run --name redis-6379 -v /root/docker-redis/conf/redis.conf:/etc/redis.conf -v /root/docker-redis/data:/data -p 6379:6379 -d redis redis-server /etc/redis.conf

4. 開始redis集群配置(如果前面沒有在redis.conf中配置replicaof則需要這一步):

3個redis容器的內網ip位址為:

redis-6379:172.17.0.2:6379

redis-6380:172.17.0.3:6379

redis-6381:172.17.0.4:6379

(2)進入容器內部,檢視當前redis的角色(主還是從):

可以看出,目前三個redis都是master。

(3)使用redis-cli命令修改redis-6380、redis-6381的主機為redis-6379(172.17.0.2:6379):

(4)檢視redis-6379是否已經擁有2個從機:

再來看以下從機的狀態:

此時從機會自動同步主機的資料。

注意如果從機出現以下錯誤:

error condition on socket for sync: operation now in progress
需要關閉防火牆:

systemctl stop firewalld

基於Docker安裝Redis

docker pull redis2.建立目錄 mkdir p mydata redis conftouch mydata redis conf redis.conf3.建立容器 docker run p 6379 6379 name redis v mydata redis data data v...

Redis(一)基於docker安裝redis

sudo apt update sudo apt install build essential 如果要驗證gcc編譯器是否已經安裝完畢,可以使用 gcc version來列印gcc版本號。docker pull redisdocker run rm d name redis 6379 p 6379...

基於Docker的Redis集群搭建

部署redis集群,該集群有3個節點 docker create name redis node01 restart always net host v redis node01 data redis cluster enabled yes cluster config file nodes nod...