Docker下redis的主從配置教程詳解

發(fā)布時間:2025-01-28
服務(wù)器
1、拉取redis鏡像
docker pull redis
2、啟動3個redis容器服務(wù),分別使用到6379、6380、6381端口
docker run --name redis-6379 -p 6379:6379 -d redisdocker run --name redis-6380 -p 6380:6379 -d redisdocker run --name redis-6381 -p 6381:6379 -dredis3、查看容器
[tcy@tcy1 ~]$ docker ps -acontainer id image command created status ports namesa9fa77adc598 daocloud.io/library/redis docker-entrypoint.s 2 hours ago up 2 hours 0.0.0.0:6381->6379/tcp redis-6381 6ee2f2f007e6 daocloud.io/library/redis docker-entrypoint.s 2 hours ago up 2 hours 0.0.0.0:6380->6379/tcp redis-6380 ab54741166e1 daocloud.io/library/redis docker-entrypoint.s 3 hours ago up 3 hours 0.0.0.0:6379->6379/tcp redis-63794、測試容器,成功
docker exec -it ab54741166e1 redis-cli:進(jìn)入容器[root@tcy1 tcy]# docker exec -it ab54741166e1 redis-cli127.0.0.1:6379> set b tcyok127.0.0.1:6379> get btcy127.0.0.1:6379> quit[root@tcy1 tcy]#5、開始redis集群配置
5.1、看容器內(nèi)網(wǎng)的ip地址
[root@tcy1 tcy]# docker inspect a9fa77adc598
3個redis的內(nèi)網(wǎng)ip地址為:
redis-6379:172.17.0.1:6379redis-6380:172.17.0.2:6379redis-6381:172.17.0.3:63795.2、進(jìn)入docker容器內(nèi)部,查看當(dāng)前redis角色(主還是從)
[root@tcy1 tcy]# docker exec -it ab54741166e1 /bin/bashroot@ab54741166e1:/data# redis-cli127.0.0.1:6379> info replication# replicationrole:masterconnected_slaves:0master_replid:d43d1ae8cde6cb084220e18b926aba79e0bb2504master_replid2:0000000000000000000000000000000000000000master_repl_offset:0second_repl_offset:-1repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0127.0.0.1:6379> quitroot@ab54741166e1:/data# exit exit目前三個都是master狀態(tài)
5.3、使用redis-cli命令修改redis-6380、redis-6381的主機(jī)為172.17.0.1:6379
[root@tcy1 tcy]# docker exec -it a9fa77adc598 /bin/bash //redis-6380root@a9fa77adc598:/data# redis-cli127.0.0.1:6379> slaveof 172.17.0.1 6379ok127.0.0.1:6379> quitroot@a9fa77adc598:/data# exitexit[root@tcy1 tcy]# docker exec -it 6ee2f2f007e6 /bin/bash //redis-6381root@6ee2f2f007e6:/data# redis-cli127.0.0.1:6379> slaveof 172.17.0.1 6379ok127.0.0.1:6379> quit5.4、查看redis-6379是否已經(jīng)擁有2個從機(jī),connected_slaves:2,是的
[root@tcy1 tcy]# docker exec -it ab54741166e1 /bin/bashroot@ab54741166e1:/data# redis-cli127.0.0.1:6379> info replication# replicationrole:masterconnected_slaves:2slave0:ip=172.17.0.3,port=6379,state=online,offset=378,lag=1slave1:ip=172.17.0.2,port=6379,state=online,offset=378,lag=0master_replid:ce193b15cfd57f7dc3ccfbf2a4aef6156b131e6dmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:378second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:378127.0.0.1:6379> quitroot@ab54741166e1:/data# exitexit5.5、配置sentinel哨兵
進(jìn)入3臺redis容器內(nèi)部進(jìn)行配置,在容器根目錄里面創(chuàng)建sentinel.conf文件
文件內(nèi)容為: sentinel monitor mymaster 172.17.0.1 6379 1
[root@tcy1 tcy]# docker exec -it a9fa77adc598 /bin/bashroot@a9fa77adc598:/data# cd / && touch sentinel.conf root@a9fa77adc598:/# vim /sentinel.conf如果出現(xiàn):bash: vim: command not found
解決:1、apt-get update 2、apt-get install vim
最后,啟動redis哨兵:
root@a9fa77adc598:/# redis-sentinel /sentinel.conf342:x 24 jun 11:37:58.934 # oo0ooo0ooo0oo redis is starting oo0ooo0ooo0oo342:x 24 jun 11:37:58.957 # redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=342, just started342:x 24 jun 11:37:58.958 # configuration loaded342:x 24 jun 11:37:58.959 # you requested maxclients of 10000 requiring at least 10032 max file descriptors.342:x 24 jun 11:37:58.959 # server can\\\'t set maximum open files to 10032 because of os error: operation not permitted.342:x 24 jun 11:37:58.960 # current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. if you need higher maxclients increase \\\'ulimit -n\\\'. _._ _.-``__ \\\'\\\'-._ _.-`` `. `_. \\\'\\\'-._ redis 4.0.10 (00000000/0) 64 bit .-`` .-```. ```\\\\/ _.,_ \\\'\\\'-._ ( \\
上一個:玻璃鋼化糞池為什么是環(huán)境保護(hù)呢?
下一個:厚聲201007F390JT4X今日行情、最新報價

尿素,汽車尿素商品知識和分類清關(guān)指南
怎么查航司票證代碼(查不到航司票證碼怎么辦)
世界航空物流 航空貨運(yùn)物流
黑石基金是什么公司?(美國規(guī)模最大的上市投資管理公司)
亞馬遜秒殺活動申請資格
發(fā)貨到非洲用什么物流 非洲發(fā)貨用什么物流
智慧工地?fù)P塵監(jiān)測設(shè)備的使用少不了以下事項(xiàng)
股權(quán)收購和資產(chǎn)收購的區(qū)別是哪些
HASTELLOY G-30相當(dāng)于國內(nèi)什么鋼種
掃地車濾芯的保養(yǎng)與更換
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos