docker安装redis
redis.conf 下载页:https://redis.io/topics/config
wget http://download.redis.io/redis-stable/redis.conf
wget http://download.redis.io/redis-stable/sentinel.conf
redis-cli -h 127.0.0.1 -p 6378 -a 123
docker run -p 6378:6378 -v $PWD/data/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data
-d --name myredis redis
redis-server /etc/redis/redis.conf
--appendonly yes
进入已经启动的redis:
docker ps
docker exec -it df1 redis-cli -p 6378 -a 123 //端口6378,redis.conf中,设置的key为123/daemonize必须为NO
redis.conf配置简单说明:
appendonly yes//启用日志追加持久化方式
#appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全
appendfsync everysec //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
#appendfsync no //完全依赖操作系统,性能最好,持久化没保证
如需远程连接redis,需配置redis端口6379在linux防火墙中开发
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
修改安装目录下的redis.conf文件
vim redis.conf
修改以下配置:
#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行,docker配置redis.conf中,必须no
docker redis集群:
一、master-slave模式//
1.master
docker run -it --restart=always //docker 启动,容器也自动启动
--name redis-slave -d -p 6300:6300
-v $PWD/opt/redis/redis_config/redis.conf:/etc/redis/redis.conf
-v $PWD/opt/redis/redisData:/data redis
redis-server /etc/redis/redis.conf
--requirepass 123 --appendonly yes --protected-mode no
--port 6300
docker exec -it redis-slave bash
redis-cli -p 6300 -a 123
config set masterauth 123
slaveof <master-ip> <master-port>
config set masterauth redispassword
ip:docker inspect container_id,
如果这些还不行,关闭防火墙,systemctl stop firewalld,
还不行,进入容器主redis修改配置文件,bindip 127.0.0.1注释掉