前提创建好集群所需要的配置文件分开文件夹来写可以这样
创建号网络
docker network create [名字]
创建主节点
docker run -v /home/docker/redis6379/conf:/usr/local/etc/redis --name redis-master -p 6379:6379 -p 26379:26379 -d --network myredis --restart=always redis redis-server /usr/local/etc/redis/redis.conf
主节点的配置文件 可直接复制,要加啥自己加
pidfile "/var/run/redis_6379.pid"
port 6379
dbfilename "dump6379.rdb"
daemonize no
子节点
docker run -v /home/docker/redis6380:/usr/local/etc/redis --name redis-slave -p 6380:6380 -p 26380:26379 -d --network myredis --restart=always redis redis-server /usr/local/etc/redis/redis.conf
pidfile "/var/run/redis_6380.pid"
port 6380
dbfilename "dump6380.rdb"
slaveof redis-master 6379 redis-master这个为你主节点创建的名字
daemonize no 关闭保护
子节点
docker run -v /home/docker/redis6381:/usr/local/etc/redis --name redis-slave2 -p 6381:6381 -p 26381:26379 -d --network myredis --restart=always redis redis-server /usr/local/etc/redis/redis.conf
pidfile "/var/run/redis_6381.pid"
port 6381
dbfilename "dump6380.rdb"
slaveof redis-master 6379 redis-master这个为你主节点创建的名字
daemonize no 关闭保护
参数重点
/home/docker/redis6380为宿主机的地址也就是你阿里云服务器放redis.conf的路径
--network myredis 为你上面创建的网络的名字
启动好了之后主从复制就好了你可以测测
接下来配置哨兵模式的配置文件
需要进入容器中执行
apt-get update
apt-getinstall vim
apt-getinstall procps
每个容器下面写入sentinel.conf内容为
#sentinel.conf
port 26379
daemonize yes
logfile "sentinel.log"
sentinel monitor mymaster 这里的ip地址自己去看主节点的ip 6379 2
#sentinel.conf
port 26379
daemonize yes
logfile "sentinel.log"
sentinel monitor mymaster 172.20.0.2 6379 1
docker inspect redis-master|grep IPAddress 看容器的ip
写完后输入
redis-sentinel sentinel.conf
后台启动就好了
ps -ef 查看是否后台启动