Docker下redis的主从配置教程详解
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,1、拉取redis镜像docker pull redis2、启动3个redis容器服务,分别使用到6379、6380、6381端口docker run --name redis-6379 -p 637
千家信息网最后更新 2026年11月03日Docker下redis的主从配置教程详解
1、拉取redis镜像
docker pull redis
2、启动3个redis容器服务,分别使用到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 -dredis
3、查看容器
[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-6379
4、测试容器,成功
docker exec -it ab54741166e1 redis-cli:进入容器[root@tcy1 tcy]# docker exec -it ab54741166e1 redis-cli127.0.0.1:6379> set b tcyOK127.0.0.1:6379> get b"tcy"127.0.0.1:6379> quit[root@tcy1 tcy]#
5、开始redis集群配置
5.1、看容器内网的ip地址
[root@tcy1 tcy]# docker inspect a9fa77adc598

3个redis的内网ip地址为:
redis-6379:172.17.0.1:6379redis-6380:172.17.0.2:6379redis-6381:172.17.0.3:6379
5.2、进入docker容器内部,查看当前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状态
5.3、使用redis-cli命令修改redis-6380、redis-6381的主机为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> quit
5.4、查看redis-6379是否已经拥有2个从机,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# exitexit
5.5、配置Sentinel哨兵
进入3台redis容器内部进行配置,在容器根目录里面创建sentinel.conf文件
文件内容为: 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
如果出现: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 .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in sentinel mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 26379 | `-._ `._ / _.-' | PID: 342 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 342:X 24 Jun 11:37:59.068 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.342:X 24 Jun 11:37:59.089 # Sentinel ID is dfd5a5bfe1036b1df3395c4ba858329034fc5b7e342:X 24 Jun 11:37:59.091 # +monitor master mymaster 172.17.0.1 6379 quorum 1342:X 24 Jun 11:37:59.110 * +slave slave 172.17.0.3:6379 172.17.0.3 6379 @ mymaster 172.17.0.1 6379342:X 24 Jun 11:37:59.115 * +slave slave 172.17.0.2:6379 172.17.0.2 6379 @ mymaster 172.17.0.1 6379 342:X 24 Jun 11:39:27.601 * +sentinel sentinel ba9b0d0539d8273edfcbd922fe138f50daa78bbb 172.17.0.2 26379 @ mymaster 172.17.0.1 6379342:X 24 Jun 11:41:59.144 * +sentinel sentinel f0510f8582b72c056531f219397ed8826683e665 172.17.0.1 26379 @ mymaster 172.17.0.1 6379
便于观察,开多个窗口。
Sentinel哨兵配置完毕
5.6、测试
关闭Master
[tcy@tcy1 ~]$ docker stop ab54741166e1ab54741166e1
这时,剩余的2个从机,会自动选举产生新的主机,这里选举172.17.0.2为主机。

查看172.17.0.2,变成了主机。
[root@tcy1 /]# docker exec -it 6ee2f2f007e6 /bin/bashroot@6ee2f2f007e6:/data# redis-cli127.0.0.1:6379> info replication# Replicationrole:masterconnected_slaves:1slave0:ip=172.17.0.3,port=6379,state=online,offset=66906,lag=1master_replid:5a7489c8181ddf0d73d418d30d6a4c8e039198bamaster_replid2:ce193b15cfd57f7dc3ccfbf2a4aef6156b131e6dmaster_repl_offset:67041second_repl_offset:65534repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:85repl_backlog_histlen:66957127.0.0.1:6379>
总结
以上所述是小编给大家介绍的Docker下redis的主从配置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
容器
配置
主机
哨兵
地址
文件
测试
选举
主从
成功
三个
内容
命令
多个
是的
根目录
状态
疑问
端口
角色
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
疫情对互联网科技公司影响
互联网科技与金融科技
互联网金融 金融科技
碳银互联网科技有限公司
润盈互联网科技
恒银科技与互联网金融
浙江互联网科技研学营
乌苏新华互联网科技做什么的
阿里互联网科技企业
南博望互联网科技有限公司
互联网时代的科技公司
黑科技 体验场景 互联网大会
江苏互联网智能科技软件
云鲸互联网络科技有限公司
互联网金融金融科技
互联网高科技绘画
银川新华互联网科技学校招聘
科技美学互联网 艺术
中国主要互联网科技公司
手磨咖啡
南京欣网互联网络科技有限公司
广州为想互联网科技有限公司
科技创新与互联网经济
与互联网科技公司
北京互联网科技
未来的互联网科技
中国航天科技大学国际工业互联网
青海科技产业互联网发展
互联网科技企业文化