![](/img/trans.png)
[英]Error 111 connecting to localhost:6379. Connection refused. Django Heroku
[英]Redis on Docker: Error 111 connecting to 0.0.0.0:6379. Connection refused
Python 和 Redis 在我的本地工作正常。 我嘗試將項目碼頭化。
當我docker-compose up , redis 容器工作正常。
> Server initialized
> Ready to accept connections
但是當我在 POSTMAN 中調用請求時,出現以下錯誤:
Error 111 connecting to 0.0.0.0:6379. Connection refused.
我的設置:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://0.0.0.0:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
我的 docker-compose.yml:
redis:
image: bitnami/redis:latest
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
environment:
- ALLOW_EMPTY_PASSWORD=yes
ports:
- "6379:6379"
...在 Dockerfile 中:
ENV REDIS_URL=redis://0.0.0.0:6379/1
我錯過了什么?
You use bitnami/redis:latest
for redis setup, so you surely have another service in docker-compose.yaml
to define your django application, then link to that redis
container.
問題就在這里,您使用redis://0.0.0.0:6379/1
從您的django
redis
,它不正確。
事實上,如果你沒有在你的 compose 文件中定義任何自定義的網絡,所有的容器都會在一個默認的網絡中,這意味着你的django
容器可以通過服務名直接訪問你的redis
容器。
一言以蔽之,你應該改變
redis://0.0.0.0:6379/1
至
redis://redis:6379/1
您可能想查看Compose 中的網絡
此外,當您公開6379
時,將0.0.0.0
更改為您的 docker 主機的 ip 可能是另一種選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.