所以我有一个java应用程序的克隆,以及一个活动的couchbase数据库,我本地机器上的所有东西。当我运行java spring应用程序时,一切正常,应用程序将连接到数据库。
另一方面,我使用docker容器使用相同的项目和数据库配置。但我似乎无法让他们沟通,当应用程序启动时,我不断得到这个例外:
java.net.ConnectException: Connection refused: localhost/127.0.0.1:8091
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:223)
at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:285)
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:589)
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:513)
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:427)
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:399)
at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)
at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
at java.lang.Thread.run(Thread.java:745)
我还创建了一个docker网络,我放置了应用程序和数据库。
知道为什么没有连接?
答案 0 :(得分:3)
您尝试连接到容器localhost
java.net.ConnectException:拒绝连接: 本地主机/ 127.0.0.1:8091
但是你需要连接到另一个容器。如果您使用参数--link mysql:mysql
运行docker容器,则需要在app配置文件中指定连接到mysql
而不是localhost
的{{1}}