自学内容网 自学内容网

Redis在docker中的主从,哨兵配置

主从配置

docker 中redis服务启动,将配置文件和数据挂载到 redisData中,记得先创建好redis.conf

docker run -p 6379:6379 \
 --name redis \
 -v /root/redisData/data:/data \
 -v /root/redisData/conf/redis.conf:/etc/redis/redis.conf \
 -d redis redis-server /etc/redis/redis.conf

从节点使用了6380端口,参照上面自行修改

进入从节点的配置文件修改

# 开启密码验证(可选)
#requirepass 123456

# 允许redis外地连接,需要注释掉绑定的IP
# bind 127.0.0.1

#端口
port 6380

# 关闭保护模式(可选)
protected-mode no

# 注释掉daemonize yes,或者配置成 daemonize no。因为该配置和 docker run中的 -d 参数冲突,会导致容器一直启动失败
daemonize no

# 开启RDB
# save ""
save 3600 1
save 300 100
save 60 10000

# 这里选择开启了AOF,可以关闭
appendonly yes

# 这些设置将在 AOF 文件大小增长到一定百分比(auto-aof-rewrite-percentage)和最小大小(auto-aof-rewrite-min-size)时触发 AOF 重写。
#auto-aof-rewrite-percentage 100
#auto-aof-rewrite-min-size 16mb

#开启主从
slaveof 192.168.200.100 6379

进入redis容器

docker exec -it redis redis-cli -p 6380

展示redis信息

info replication

哨兵配置

创建挂载文件夹,我挂载在/root/redisData/sentinel下,在目录中创建sentinel.conf

port 26379
daemonize no
sentinel monitor mymaster 192.168.200.100 6379 1
sentinel auth-pass mymaster ""
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000

在启动后会自动写入一些配置,这里无密码时会出错,启动后手动将密码配置一项补全,下面为启动之后补完的代码

port 26379
daemonize no
sentinel myid f5d5274ad22e1894a5fd845e50201ae47a5eeca8
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.200.100 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
# Generated by CONFIG REWRITE
dir "/data"
sentinel auth-pass mymaster "" 
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-replica mymaster 172.17.0.1 6380
sentinel current-epoch 0

启动哨兵服务

docker run -p 26381:26379 --name redis-sentinel1 -v /root/redisData/sentinel/sentinel.conf:/etc/redis/sentinel.conf -d redis redis-sentinel /etc/redis/sentinel.conf
docker run -p 26382:26379 --name redis-sentinel2 -v /root/redisData/sentinel/sentinel.conf:/etc/redis/sentinel.conf -d redis redis-sentinel /etc/redis/sentinel.conf

进入哨兵容器

docker exec -it redis-sentinel1 redis-cli -p 26379

查看哨兵信息

info sentinel


原文地址:https://blog.csdn.net/xzwysElysia/article/details/143599478

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!