- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 docker 版本是 1.13.1。我正在尝试从我的 docker 容器连接到 redis-server,但我收到连接被拒绝的错误。详细日志如下:
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused at redis.clients.jedis.Connection.connect(Connection.java:207) [jedis-2.9.0.jar:] at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93) [jedis-2.9.0.jar:] at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1767) [jedis-2.9.0.jar:] at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106) [jedis-2.9.0.jar:] at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:888) [commons-pool2-2.4.3.jar:2.4.3] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:432) [commons-pool2-2.4.3.jar:2.4.3] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:361) [commons-pool2-2.4.3.jar:2.4.3] at redis.clients.util.Pool.getResource(Pool.java:49) [jedis-2.9.0.jar:] ... 27 more Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) [rt.jar:1.7.0_80] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) [rt.jar:1.7.0_80] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) [rt.jar:1.7.0_80] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) [rt.jar:1.7.0_80] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) [rt.jar:1.7.0_80] at java.net.Socket.connect(Socket.java:579) [rt.jar:1.7.0_80] at redis.clients.jedis.Connection.connect(Connection.java:184) [jedis-2.9.0.jar:] ... 34 more
当我给 --net="host"
选项时,这个错误就消失了,但是当我给
--add-host=parent-host:`ip route show | grep docker0 | awk '{print \$9}'`
我收到错误消息,虽然容器能够连接到不同 VM 上的 Db,但无法连接到自托管机器上的 redis-server。
最佳答案
我怀疑问题是您试图通过 localhost
而不是 parent-host
连接到 redis。确保在创建 Jedis 连接时通过 parent-host
连接到 redis。
--net=host
选项起作用的原因是,在这种情况下,localhost
将引用主机的 IP 而不是容器的 IP。
此外,确保在容器内的 /etc/hosts
中有一个 parent-host
的实体。
关于docker - 无法从 docker 容器连接到 redis 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47529105/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!