目录
得到redis.conf
redis官网:https://redis.io/
进入官网,下载指定的redis版本,并解压得到redis.conf
这里用的是5.0.5版本
https://download.redis.io/releases/
选择你要的版本
解压得到redis.conf
坑一:
官网得到的redis版本要跟等下docker安装的redis版本一致,不同的版本redis配置文件可能会有差别。
修改配置文件redis.conf
开启redis验证 requirepass 123456
允许redis对外连接
#bind 127.0.0.1 要注释掉
开启redis数据持久化
appendonly yes
坑二:
这个配置会和dcoker run中-d参数冲突,导致容器一直启动不了
daemonize yes 要注释
创建redis目录
cd /usr
mkdir redis
cd redis
将准备好的redis.conf放进reids目录
mkdir data
docker 下载安装运行redis
下载5.0.5版本的redis
docker pull redis:5.0.5
docker images
启动redis
docker run -d -p 6379:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis redis:5.0.5 redis-server /etc/redis/redis.conf
注:redis-server /etc/redis/redis.conf:指定容器启动时执行的命令
其他命令不懂的,看我操作容器的博文-->
坑三:
容器有创建成功,但运行不起来
排查问题:
看redis的运行日志
docker logs myredis
报错:
chown: changing ownership of '.': Permission denied
权限不够,问题找到了
解决方案:
先删除redis容器
docker rm myredis
增加--privileged=true 命令
docker run -d -p 6379:6379 --privileged=true -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis redis:5.0.5 redis-server /etc/redis/redis.conf
进入容器
docker exec -it myredis /bin/bash
执行redis-cli 连接redis
提示没权限,说明我们的redis.conf配置生效了
输入验证密码:
测试下,OK
补充:
可在容器外直接连接redis
docker exec -it myredis redis-cli
如果同学你还遇到其他坑,也可以留言表达下,赠人玫瑰,手留余香嘛