Docker中Django无法访问Redis容器的解决方案

桃夭
桃夭
发布时间:2026-10-13 | 6人浏览过
原创

本文针对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容器的完整方法,希望能对读者有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表