jedis连接docker中redis容器报密码相关错误 解决方案

文章说明

注意:
此文章为docker从0搭建redis直观的解决jedis连接redis密码报错问题.
如可以接受每次重启服务器手动设置redis密码,可不参考文章所有内容。
此文为个人的方案,如未帮到你或找到了更好的方法,勿喷.
docker创建redis容器一定要设置密码,不然每次重启服都要设置密码很繁琐。

2020.7.4日时 在跟着案例写一个模块时,测试一个发送消息的功能,连接redis报错。具体解决问题也是折腾了近三个小时参考资料才得以解决,有说是连接池太小,还是不得了之。最终解决的方法 再次设置redis启动密码解决。
可是在关闭了redis连接,再次启动redis还是会报错误,因为密码的问题,进入容器设置密码即可解决,需要每次都设置,很麻烦。


具体报错如下

服务端测试报错如下

jedisPool.returnResource(jedis)

最终通过idea编写一个jedis连接redis设置键值查看是否成功,才找到问题源头
在这里插入图片描述
结果还是报错,具体原因是redis密码的问题,就这样一个基础的jedis连接reids设置一个key value 如此简单的几行代码报了一个错。
Exception in thread “main” redis.clients.jedis.exceptions.JedisDataException
在这里插入图片描述
于是就进入到了docker中的redis中设置了一下密码,再次java启动类,成功运行 不报错了,也将值添加到了redis中。可是这样太过于繁琐了,假如每次重启服务器之后 还得在手动进入docker容器中的redis设置redis的密码。

redis 127.0.0.1:6379> CONFIG SET requirepass "123456"
OK
redis 127.0.0.1:6379> AUTH 123456
Ok

每次都需要手动进入docker 中redis容器 设置一下密码才可以解决错误,过于麻烦。以下是个人的总结方案

问题源头

之前docker拉取redis时,通过docker创建redis容器时,语句的问题导致报了密码的错误

之前创建redis容器踩的坑 如下命令
之前只是简单的创建redis容器命令 也是如下这个命令坑惨了我:

docker run -p 6379:6379 --name myredis -d redis:6.0.5

具体重启服务容器报错误就在于这个创建容器的命令
↑为redis容器启动个人踩的坑导致报的密码错误


正确创建redis容器命令 启动并设置密码、开启持久化

docker run -d --name redis-server -p 6379:6379 redis:6.0.5 --requirepass "diypassword" --appendonly yes

之后我将docker中的redis所有相关内容删除,执行正确的创建redis命令,这时每次重启服务,jedis不会报错误 设置密码

创建redis启动容器很关键,报错的直接原因,启动容器的命令一定要注意!!!


下面从0开始docker拉取redis并运行起来redis解决报密码错误的问题

docker从0开始拉取redis并设置密码 开启持久化运行容器

在这里插入图片描述

docker pull redis:6.0.5

docker images

docker run -d --name redis-server -p 6379:6379 redis:6.0.5 --requirepass "123456" --appendonly yes

docker exec -it 容器名或id简写 /bin/bash

redis-cli -p 6379

在这里插入图片描述

redis-cli -p 6379

auth 设置的密码

select 0 

set k1 v1

此时设置的key value已成功执行,已设置key value
在这里插入图片描述

再次重启redis容器,验证jedis连接redis是否还报错密码的问题
在这里插入图片描述

docker ps

docker stop 容器简写id或名称

docker start 容器简写id或名称
重启完后。最后再来验证一下是否还报错误redis密码的相关问题

在这里插入图片描述
在这里插入图片描述
最终 ,完美解决每次redis容器重启后,jedis连接redis报密码相关错误的信息
此方法为docker中redis个人解决的问题,可能还有其余更多好的方法,也有说改redis.conf中的内容,由于找不到docker中redis的配置相关信息。就用了此方法简单明了的解决了报错的问题。

总结完毕,总结不易,支持的请点个赞,感谢~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值