Docker中Django无法访问Redis容器的解决方案
本文针对Docker环境下Django应用无法访问Redis容器的问题,分析了因使用127.0.0.1导致连接被拒绝的原因。通过修改django setting.py中的LOCATION配置,将IP地址替换为Docker Compose中定义的Redis服务名称,成功解决了连接问题。
Docker中Django无法访问Redis容器的解决方案
在docker-compose.yml配置文件中进行相关设置。
redis:
image: redis
container_name: xdemo.redis
ports:
- 6379:6379
restart: always
django setting.py中配置redis:
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://127.0.0.1:6379',
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "",
},
},
}
尝试访问Redis时,系统持续报错。

redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
解决方法是将原本配置的127.0.0.1替换为Docker中定义的服务器名称(servername)。以Redis服务为例,具体配置如下。
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://redis:6379',
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "",
},
},
}
以上即为解决Django在Docker环境中无法访问Redis容器的完整方法,希望能对读者有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









