基于阿里云 centos7,单机启动多个redis实例
安装docker(略)
安装redis
1
2
3
|
docker search redis
docker pull docker.io/redis
docker images
|
1
2
3
4
|
mkdir -p /data/redis_data
cd /data/redis_data
touch redis_6379.conf
vi redis_6379.conf
|
- 端口配置 redis_6379.conf redis_6380.conf redis_6381.conf
配置说明:
dir:工作目录
logfile:日志文件在工作目录下
slaveof:指明为主机一的从机
requirepass:redis客户端连接的认证密码,若不需要可不配置
masterauth:主从redis同步的认证密码,与连接密码同,若不需要可不用配置
appendonly:是否需要持久化,yes为需要
1
2
3
4
5
6
|
logfile "redis_6379.log"
port 6379
dir /data
appendonly yes
appendfilename appendonly.aof
requirepass 1234
|
1
2
3
4
5
6
7
8
|
logfile "redis_6380.log"
port 6380
dir /data
appendonly yes
appendfilename appendonly.aof
slaveof 0.0.0.0 6379
masterauth 1234
requirepass 1234
|
1
2
3
4
5
6
7
8
|
logfile "redis_6381.log"
port 6381
dir /data
appendonly yes
appendfilename appendonly.aof
slaveof 0.0.0.0 6379
masterauth 1234
requirepass 1234
|
启动容器
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v /data/redis_data:/data : 将主机中目录/data/redis_data挂载到容器的/data
–name redis-6379: 给出容器名称
-d: 后台运行
docker.io/redis: 镜像名称
redis-server redis_6379.conf: redis的启动命令,指定配置文件
1
2
3
4
5
|
docker run -p 6379:6379 -v /data/redis_data/:/data --name redis-6379 -d docker.io/redis redis-server redis_6379.conf
docker run -p 6380:6380 -v /data/redis_data/:/data --name redis-6380 -d docker.io/redis redis-server redis_6380.conf
docker run -p 6381:6381 -v /data/redis_data/:/data --name redis-6381 -d docker.io/redis redis-server redis_6381.conf
|
建立哨兵目录和其配置文件
配置说明
- logfile “sentinel.log”:输出日志目录
- sentinel monitor mymaster 192.168.0.1 6379 1:哨兵监控的主服务器名称为mymaster,ip为192.168.0.1,端口为6379,将这个主服务器标记为失效至少需要1个哨兵进程的同意
- sentinel auth-pass mymaster 1234 : 哨兵的认证密码
1
2
3
4
5
6
7
|
cd /data/redis_data
touch sentinel.conf
vi sentinel.conf
logfile "sentinel.log"
sentinel monitor mymaster 0.0.0.0 6379 1
sentinel auth-pass mymaster 1234
|
启动哨兵模式
docker run -p 26379:26379 -v /data/redis_data/:/data --name redis-26379 -d docker.io/redis redis-sentinel sentinel.conf
观察容器内哨兵情况:
docker exec -it 容器id /bin/bash