我有使用 Tornado 和 tornado-redis 的应用程序。 [docker 镜像
中的镜像“应用程序”]
我启动redis:
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-container?如何解决这个问题?我使用标准端口 6379。
谢谢!
最佳答案
tornadoredis
尝试在localhost
上使用redis 。 (参见来源here)
所以您需要通知tornadoredis
redis 运行的位置(因为对于 docker 镜像,它没有在 localhost
上运行)。
例如:
c = tornadoredis.Client(host="<hostname>")
c.connect()
根据您的具体情况,替换 "redis"
对于 "<hostname>"
.
关于python - 从docker中的另一个容器连接到redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31073614/