1、下载redis docker镜像
docker pull redis:3.2
2、在home下建立mydata目录
在/home/mydata/redis下面建立两个目录 conf与data
3、docker运行主从
docker run -p 6379:6379 --name masterredis -v /home/mydata/redis/data:/data -v /home/mydata/redis/conf/master.conf:/data/redis.conf --privileged=true -d redis:3.2 redis-server /data/redis.conf --requirepass "masterredis" --appendonly yes
docker run -p 6379:6379 --name slaveredis -v /home/mydata/redis/data:/data -v /home/mydata/redis/conf/slave.conf:/data/redis.conf --privileged=true -d redis:3.2 redis-server /data/redis.conf --requirepass "slaveredis" --appendonly yes
4、开放防火墙端口
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload
5、运行测试
docker exec -it masterredis bash
redis-cli -a masterredis 客户端登录进入masterredis 可以 info replication 查询复制情况
redis-cli -a slaveredis
docker container update --restart=always 容器名字 增加一个容器的自动启动参数方法
刚开始slave redis老是连接不上,应该主要原因是没有加参数masterauth password
6、配置参数
总结redis master的参数主要有下面
daemonize no
pidfile "/var/run/redis.pid"
port 6379
timeout 300
loglevel warning
logfile "redis.log"
databases 1
rdbcompression yes
dbfilename "redis.rdb"
dir "/data"
requirepass password
masterauth password
maxclients 10000
maxmemory 1000mb
maxmemory-policy allkeys-lru
appendonly no
appendfsync alway
因为有些可以不需要,requirepass password启动的时候配置了,
总结redis slave的参数主要有下面
daemonize no
pidfile "/var/run/redis.pid"
port 6379
timeout 300
loglevel warning
logfile "redis.log"
databases 1
rdbcompression yes
dbfilename "redis.rdb"
dir "/data"
requirepass password
masterauth password
maxclients 10000
maxmemory 1000mb
maxmemory-policy allkeys-lru
appendonly no
appendfsync always
slaveof 192.168.199.151 6379
7、生产过程中要用的redis就要对redis的配置参数一一进行优化与配置了
同时生产应该采用哨兵模式,但这个应该要一主二从才行,一主一从应该选举就有问题
8、时间问题,可以这样操作
rm /etc/localtime
ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这样就变成中国上海时间了
但我的虚拟机主机与docker时间问题目前还没有解决
用下面解决在进入docker容器后
echo "Asia/shanghai" > /etc/timezone
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
标签:--,虚拟机,redis,centos7,mydata,conf,redis3.2,docker,data From: https://blog.51cto.com/u_15070324/6088479