Preface
今天使用密码连接reids的时候发现报错,注释掉 AUTH 相关代码后居然可以连接;
在 redis-cli 中发现 config 为空;
使用 ps -ef | grep redis 中发现 redis-server 的启动参数居然是默认的,而不是我们指定的 /usr/local/etc/redis/redis.conf 文件;
加上之前主从结构并没有生效,所以现在必须要重新整理一遍了。
Step
重启使用 redis.conf
在进程里面看到的 redis-server 的进程 id 是 1,在 kill 或者在 redis-cli 中使用 shutdown 会导致直接退出此容器。
在 redis-cli 中输入 help @server 的时候,发现其中有个命令叫做 CONFIG SET ,其实也就是更新 redis.conf 里的那些设置。
例如 CONFIG SET requirepass 12345这样的。
结果:失败
重新做一个镜像吧
之前那样傻呼呼的运行命令行,不是很方便,对于后面运维的啥的也不是很好。
所以就使用 Dockerfile 吧。
1 |
|
由于公司流量宝贵,所以先备份到这里,这个镜像有点问题,起不来,后续更新。
Update
2019-05-13
最终,默认有密码的 redis 容器的启动命令是这样的:
1 | sudo docker run -v $PWD/redis.conf:/usr/local/etc/redis/redis.conf -p 7001:6379 --name myredis redis redis-server /usr/local/etc/redis/redis.conf --requirepass test5566 |
为什么 redis.conf 里面的 requirepass 读不到,需要进一步调查了,有了结果再更新。