基于上一篇的docker搭建redis主从服务器
1.在conf
目录下新建sentinel-26379.conf
,sentinel-26380.conf
,sentinel-26381.conf
三个文件
2.编辑这三个文件
vim sentinel-26379.conf
port 26379 //指定端口号
bind 0.0.0.0 //运行外部连接
sentinel monitor mymaster 192.168.23.129 6379 2 //指定主服务器
其他两个配置文件只需要改端口号就好了
3.创建哨兵服务端
docker run -it --name sentinel-26379 -p 26379:26379 -v /mydata/redis/conf/sentinel-26379.conf:/etc/redis/sentinel.conf -d redis
docker run -it --name sentinel-26380 -p 26380:26380 -v /mydata/redis/conf/sentinel-26380.conf:/etc/redis/sentinel.conf -d redis
docker run -it --name sentinel-26381 -p 26381:26381 -v /mydata/redis/conf/sentinel-26381.conf:/etc/redis/sentinel.conf -d redis
4.进入容器内部启动哨兵
docker exec -it sentinel-26379 bash
redis-sentinel /etc/redis/sentinel.conf
docker exec -it sentinel-26380 bash
redis-sentinel /etc/redis/sentinel.conf
docker exec -it sentinel-26381 bash
redis-sentinel /etc/redis/sentinel.conf
5.这里有个小坑,若要使用java连接redis,可能会出现从服务器连接不上的问题。因为docker容器内部给它们配置了端口。要想使用你的Linux的端口,需要修改从服务器的配置文件。
修改redis-6380.conf
在配置文件中加上这两句,表示对外暴露的IP地址与端口号
slave-announce-ip 192.168.23.129 //填自己主机的IP地址
slave-announce-port 6380
修改redis-6381.conf
在配置文件中加上这两句,表示对外暴露的IP地址与端口号
slave-announce-ip 192.168.23.129 //填自己主机的IP地址
slave-announce-port 6381