我有一个spring boot应用程序,在内部调用redis。我在docker容器内部的6379上运行了redis(也可以通过redis客户端在容器外部访问)但是,当我按如下所示公开应用程序时,它抱怨redis连接失败。在8086上运行
docker run -d --name containerName -p 8086:8086 containerName:version但是可以从浏览器访问http://localhost:8086应用程序但是,当使用--net = host像下面那样运行时,它可以正常工作,并带有警告警告:使用主机网络模式时,已发布的端口将被丢弃
docker run --rm -it -d --net = host --publish-all = true --name containerName containerName:version
但是无法从浏览器http://localhost:8086访问应用程序>
异常堆栈跟踪
线程“ pool-2-thread-1”中的异常org.springframework.data.redis.RedisConnectionFailureException:无法获取Jedis连接;嵌套异常为redis.clients.jedis.exceptions.JedisConnectionException:无法从池中获取资源在org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:282)在org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:476)在org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:134)
原因:java.net.ConnectException:连接被拒绝(连接被拒绝)
在java.base / java.net.PlainSocketImpl.socketConnect(本机方法)注意:我正在Windows计算机上运行docker容器
我有一个spring boot应用程序,在内部调用redis。我在docker容器内部的6379上运行了redis(也可以通过redis客户端在容器外部访问),但是当我公开...
我有分别运行的Redis和应用程序容器所以这里是解决方案