解决docker容器内无法连接宿主redis

news/2024/6/3 18:12:16 标签: docker, redis, 容器

背景 小程序的发短信服务挂了,随查看日志,该报错日志如下

在这里插入图片描述
Error 111 connecting to 127.0.0.1:6379. Connection refused.
6379是监听redis服务的端口,那大概是redis出错了。
首先查看了redis是否正常启动,检查出服务正常。
由于小程序是部署在docker内,而redis是安装在宿主主机内。
于是简单写了个demo测试是否能连接redis

import redis

try:
    # 创建Redis连接
    r = redis.Redis(host='127.0.0.1', port=6379)

    # 测试连接
    response = r.ping()
    if response:
        print("成功连接到Redis服务器")
    else:
        print("无法连接到Redis服务器")

except redis.exceptions.ConnectionError as e:
    print("连接错误:", str(e))

结果显示,在容器外可以正常连接redis,但是在容器内无法连接容器
这个原因大概是我们可以简单把docker当作是一个虚拟机,容器内外是两套系统。
那知道了原因,解决起来就比较迅速了。
首先,找到docker的虚拟IP
通过命令ifconfig
在这里插入图片描述
把这个虚拟IP加入到redis配置中
找到redis.config
然后修改如下地方
找到bind 127.0.0.1这一行,修改如下

bind 127.0.0.1 172.17.0.1

修改保护模式
protected-mode 设置为no
这个保护模式可能会不生效,报错结果如下
在这里插入图片描述
那么则进入redis中修改保护模式,把保护模式设置为No即可
在这里插入图片描述

另连接redis时,需要用docker的虚拟IP


http://www.niftyadmin.cn/n/5303809.html

相关文章

MySQL Enterprise版本各系统安装包下载

一、官方下载地址 oracle下载地址 https://edelivery.oracle.com/osdc/faces/SoftwareDelivery 使用oracle账号登录进去 Category选择Download Package(下载安装包),搜索栏输入mysql Enterprise关键字点search进行搜索。选项结果第一个MySQL Enterprise Edition&a…

【水浸传感器】软硬件一体水浸监测整套方案远程监测解决各种环境漏水问题

一、痛点分析 在工业生产中,水浸传感器可以安装在数据中心、半导体厂房、输油管道、车间仓库、变电室等易发生水浸的区域。一旦检测到漏水情况,立即发出信号反馈。然而,水浸传感器分散在各个地点,导致管理不集中、不便捷&#xf…

java数据结构与算法刷题-----LeetCode70. 爬楼梯

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难,但它就是固定套路而已。其实动态规划只…

【VTK三维重建-体绘制】第五期 vtkLODProp3D

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK中体绘制中的vtkLODProp3D对象,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞关注,小易会继续努力分享,一起进步! 你的点赞…

stm32学习总结:5、Proteus8+STM32CubeMX+MDK仿真串口并使用串口打印日志(注意重定向printf到串口打印的问题)

stm32学习总结:5、Proteus8STM32CubeMXMDK仿真串口并使用串口打印日志(注意重定向printf到串口打印的问题) 文章目录 stm32学习总结:5、Proteus8STM32CubeMXMDK仿真串口并使用串口打印日志(注意重定向printf到串口打印…

在页面中获取iframe中window对象,在iframe中获取上级window对象

1 在页面中获取iframe中window对象 const iframedocument.getElementById("myiframe") iframe.contentWindow 获取iframe中的window对象 iframe.contentDocument 获取iframe中的document对象2 在iframe中获取上级window对象 window.parent 获取上一级的windo…

Word与Excel对应的Python 函数库

本文主要讲Word与Excel格式的文件 Word 格式与 Python 函数库 Python 操作 Word 格式的库是 python-docx 库 安装与导入方法 pip install python-docx ... import docx Excel 格式与 Python 函数库 xlsx 格式⼀般采⽤ openpyxl 进⾏读写如果是 xls 格式,对 Wor…

Python实现观察者模式

观察者模式是一种设计模式,其中一个对象(称为主题)维护一组依赖于它的对象(称为观察者),当主题的状态发生变化时,它会通知所有观察者。这种模式常用于实现分布式事件处理系统。 下面是一个简单…