gpt4 book ai didi

docker 中的 django-redis 连接错误

转载 作者:IT王子 更新时间:2023-10-29 06:12:45 27 4
gpt4 key购买 nike

django View .py

import redis
import jwt
from access import utils
import os
redis_url = os.environ['REDIS_URI']

R = redis.StrictRedis(redis_url)

def set(request):
R.set('foo', 'bar')
return JsonResponse({"code":200,"msg":"success"})

docker-compose

version: "3"

services:
rango:
container_name: rango
build: ./
command: python backend/manage.py runserver 0.0.0.0:8000
# command: npm start --prefix frontend/rango-frontend/
working_dir: /usr/src/rango
environment:
REDIS_URI: redis://redis_db:6379
ports:
- "8000:8000"
tty: true
links:
- elasticsearch
- node
- redis

#elastic search
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.0
ports:
- "9200:9200"

#node
node:
image: node:10.13.0

#redis
redis:
image: redis
environment:
- ALLOW_EMPTY_PASSWORD=yes
ports:
- "6379:6379"

我在这里从 docker 中的 django 连接 redis。它给了我拒绝连接的异常(exception)情况。请查看我的代码和下面共享的屏幕截图

enter image description here

最佳答案

默认情况下,docker compose 可以使用与容器名称相同的主机名来发现容器。因此,可以通过主机名 redis 发现您的 redis 容器。但是,您的 Django 容器正在使用主机名 redis_db

更新您的 docker-compose.yml 并更改 REDIS_URI 以引用正确的主机名:

REDIS_URI: redis://redis:6379

关于docker 中的 django-redis 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53359634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com