当使用docker运行项目时,
使用127.0.0.1:6379的本地默认环回地址连接redis时总会出现连接失败的问题,
如何修复以上问题?
(本文默认您拥有基本ubuntu服务器操作技巧,以及docker项目和redis服务器已正常安装。)
![](https://www.sereniblue.com/wp-content/uploads/2024/01/0_so4kdWLJDQGKNYqz-300x169.jpg)
ubuntu
第一步:编辑redis配置文件允许外网连接。
sudo nano /etc/redis/redis.conf #开启redis的配置文件。
找到以下代码并修改,
bind 127.0.0.1 ::1 ——> #bind 127.0.0.1 ::1 #允许所有ip可以连接
protected-mode yes ——> protected-mode no #内网保护模式关闭
#requirepass foobared ——> requirepass yourpassword #设置redis连接密码
保存文件
sudo systemctl restart redis-server #重启redis服务器使配置生效
第二步:连接redis服务器
sudo apt install net-tools #安装ip工具查看服务器绑定的专有内网地址
ifconfig
找到eth0 的inet 背后以10开头的内网专用ip地址
![环回ip地址示例](https://www.sereniblue.com/wp-content/uploads/2024/01/@23SM2U9U9JMKZXR035-300x25.png)
环回ip地址示例
记下这个ip地址,
然后进入你的docker 项目内填写redis配置的地方把127.0.0.1的环回地址改为10开头的内网专用ip地址
再把密码填写好,即可正确连接redis服务器。
![redis](https://www.sereniblue.com/wp-content/uploads/2024/01/banner-1544x500-1-300x97.png)
redis
总结
为什么直接连接127.0.0.1:6379无法连接到redis服务器?
因为在docker内部使用127.0.0.1作为环回地址时,其实使用的不是服务器自身的127.0.0.1的环回地址,而是使用的docker内部自己的环回地址,导致连接失败。
为什么要使用redis服务器?
redis内存缓存主要用于数据库不在本地时对数据进行缓冲的作用,比如说我的博客是基于云Mysql数据库的,需要启用redis作为内存缓存,降低访问延时。
文章有(1)条网友点评
[…] 安装redis方法,为后续连接做准备。 […]