使用Jedis连接Docker中的Redis容器
第一次用Docker跑Redis 发现无法连接Docker中的Redis容器 这是什么情况呢? 为何不能像Navicat连接mysql容器那样?
首先按照网上的方法下载redis镜像并对配置文件redis.conf
进行了修改
docker中安装并配置redis
运行起docker镜像之后视图用windows10的redis客户端进行连接,结果报错:
接着尝试用Jedis连接:
public class jedis_test {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
System.out.println("======");
System.out.println(jedis.ping());
System.out.println("=======");
}
}
直接报错 连接超时
想了一下 可能是因为之前修改配置文件redis.conf时 将redis服务器和 127.0.0.1进行了解绑 所以尝试换一个地址 进行连接
Ubuntu中 ifconfig
:
用eth0中的地址172.25.75.126替换本地环回地址 如下
public class jedis_test {
public static void main(String[] args) {
Jedis jedis = new Jedis("172.25.75.126",6379);
System.out.println("======");
System.out.println(jedis.ping());
System.out.println("=======");
}
}
结果:
======
PONG
=======
顺利解决
总结: 由于让 redis 服务器可以被远程连接 需要对配置文件进行修改 其中有一个步骤是和 本地环回 127.0.0.1 这个 ip 解绑 故此时,在通过Jedis连接docker中的redis容器时要更改为正确的ip才行