姜戈views.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"})码头工
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"这里我是在码头内转接来自django的红葡萄酒。它给了我一些例外,拒绝了连接。请查看我的代码和下面的共享屏幕截图

发布于 2018-11-18 21:58:41
默认情况下,docker组合使容器可以被发现,其主机名与容器名称相同。因此,您的redis容器可以通过主机名redis发现。但是,Django容器使用的是主机名redis_db。
更新docker-compose.yml并更改REDIS_URI以引用正确的主机名:
REDIS_URI: redis://redis:6379https://stackoverflow.com/questions/53359634
复制相似问题