docker连接宿主机redis,提示Connection refused

目录

一、测试环境

二、问题现象

三、问题总结


一、测试环境

centos 7

redis-5.0.14

docker-26.0.1

二、问题现象

服务器重启后docker连接宿主机redis,提示Connection refused

Reconnecting, last destination was /172.25.xxx.x:6379                            
Cannot reconnect to [172.25.xxx.x:6379]: Connection refused: /172.25.xxx.x:6379

出现连接拒绝,首先想到的是确认redis 服务是否已经启动,在宿主机上执行以下命令:

ps -ef|grep redis
root       997     1  0 11:36 ?        00:00:04 /usr/local/redis/bin/redis-server *:6379
root      3449  2538  0 12:34 pts/0    00:00:00 grep --color redis

发现redis 服务正常,然后用本机使用redis工具连接是否可以连接,测试发现本机的连接工具可以正常远程连接redis 。接着在宿主机测试是否可以连接,输入一下命令(需要切换到redis 的安装目录):

./redis-cli -h 172.25.xxx.x -p 6379

然后执行auth输入密码,连接成功,执行ping命令,回复PONG,说明配置文件读取都没有问题。然后上网搜索,发现有一篇文章中说,配置文件的protected-mode改为no还要再执行一下命令,宿主机连接redis,并执行命令(注意大小写):

CONFIG SET protected-mode no

再次启动应用,应用程序成功连接上了redis。

三、问题总结

上面方案的前提是保证你的redis之前能正常连接,如果时第一次连接建议按照如下步骤进行检查:

1、确定redis服务启动

ps -ef|grep redis

2、确定redis读取正确的配置文件redis.conf

INFO SERVER

3、redis服务器地址和密码正确

4、服务器防火墙关闭,如果时云服务器保证redis端口(一般为6379)可以正常访问

5、关闭redis的保护模式

protected-mode no

6、bind 127.0.0.1 ::1注释掉

bind 127.0.0.1 ::1

7、宿主机上执行config set protected-mode no

8、宿主机本机可以正常连接redis

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值