【发布时间】:2019-11-29 18:47:30
【问题描述】:
我正在使用 redis 服务器和 java 应用程序设置 docker-compose,当 redis 在 docker-compose 中运行时,我的代码工作正常 在 HOST OS 中使用外部 java 程序。
但是当我将 java 程序放入容器中时,我得到了
java.net.ConnectException:连接被拒绝
Redis-cli 127.0.0.1:6379> 也可以正常工作
try {
Thread.sleep(3000);
jedis = new Jedis("localhost");
this.restTemplate = new RestTemplate();
startWorking();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当使用“redis”而不是“localhost”时,它会给我来自 docker-compose 外部的未知主机错误,并且 docker-compose 内部的连接被拒绝
这是我的 dockercompose.yml
redis:
image: redis
ports:
- "6379:6379"
worker:
build: worker
【问题讨论】:
-
你是否在同一个 compose 中竞争 redis 和 java 应用程序?如果不是,它们可能没有连接到同一个网络,这就是为什么
redis作为 redis 主机不起作用。 -
是的,在同一个 compose 中...我如何在 docker-compose 和 java-app 中配置 redis 主机。
标签: java docker redis docker-compose jedis