小编典典

从Docker中的另一个容器连接到Redis

redis

我有应用程序,使用过Tornado和tornado-redisdocker images我开始[redis]中的[image“ app”

docker run --name some-redis -d redis

然后我想将我的应用程序与redis链接:

docker run --name some-app --link some-redis:redis app

我有错误:

Traceback (most recent call last):
  File "./app.py", line 41, in <module>
    c.connect()
  File "/usr/local/lib/python3.4/site-packages/tornadoredis/client.py", line 333
, in connect
    self.connection.connect()
  File "/usr/local/lib/python3.4/site-packages/tornadoredis/connection.py", line
 79, in connect
    raise ConnectionError(str(e))
tornadoredis.exceptions.ConnectionError: [Errno 111] Connection refused

我已经用本地tornado和redis测试了我的代码,并且可以正常工作。问题在

c = tornadoredis.Client()
c.connect()

为什么我的应用无法连接到Redis容器?如何解决?我使用标准端口6379。

谢谢!


阅读 1404

收藏
2020-06-20

共1个答案

小编典典

tornadoredis尝试在上使用redis
localhost。(请参见此处的源代码)

因此,您需要通知tornadoredisredis在何处运行(由于docker镜像未在其上运行localhost)。

例如:

c = tornadoredis.Client(host="<hostname>")
c.connect()

在特定情况下,替代"redis""<hostname>"

2020-06-20