我有应用程序,使用过Tornado和tornado-redis。docker images我开始[redis]中的[image“ app”
docker images
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。
谢谢!
tornadoredis尝试在上使用redis localhost。(请参见此处的源代码)
tornadoredis
localhost
因此,您需要通知tornadoredisredis在何处运行(由于docker镜像未在其上运行localhost)。
例如:
c = tornadoredis.Client(host="<hostname>") c.connect()
在特定情况下,替代"redis"的"<hostname>"。
"redis"
"<hostname>"