docker安装redis设置密码问题
- 背景 docker启动redis容器
docker run -d -p 6379:6379 --name redis -v /vdb/redis/redis.conf:/etc/redis/redis.conf -v /vdb/redis/data:/data redis
后来由于安全需求,需要加上密码,于是在宿主机上的/vdb/redis/redis.conf修改reqiirepass增加密码,重启redis容器之后,发现密码并未生效。 于是查资料,找到了一个解决方案,如下
docker run -d -p 6379:6379 --name redis -v /vdb/redis/redis.conf:/etc/redis/redis.conf -v /vdb/redis/data:/data redis redis-server /etc/redis/redis.conf(测试无效)
但经过测试,根本起不来,命令无效。
然后接着找资料,找到了解决方案
- 解决方案
- 创建Redis容器并设置密码
docker run -d -p 6379:6379 --name redis -v /vdb/redis/redis.conf:/etc/redis/redis.conf -v /vdb/redis/data:/data --restart=always redis --requirepass jandar2022
- 坑点 密码不能太复杂,我试过Hu@ngS!r和P@$$W0rD都不行,可能docker转义了或者redis配置不支持
- 为现有的redis创建密码或修改密码的方法
1.进入redis的容器 docker exec -it 容器ID bash
2.进入redis目录 cd /usr/local/bin
3.运行命令:redis-cli
4.查看现有的redis密码:config get requirepass
5.设置redis密码config set requirepass ****(****为你要设置的密码)
6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码