我正在尝试用Docker部署django通道,Django似乎没有找到Redis (我正在使用它作为通道层)。
当我在本地执行时,我只需运行redis-server并从设置中指向它:
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
'hosts': [('localhost', 6379)],
},
},
}一切都很好,网络套接字接受连接,并且很容易地传输我的数据。对于生产环境,我使用这个docker配置:
version: "3"
services:
backend:
container_name: backend
restart: 'on-failure'
image: registry.testtesttest.com/app/backend:${BACKEND_VERSION:-latest}
ports:
- "8000:8000"
environment:
DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE:-settings.production}
DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY:-dev}
redis:
image: "redis:alpine"
ports:
-"6379:6379"我指的是生产环境中的红宝石:
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
'hosts': [('redis', 6379)],
},
},
}在生产方面,Django说:
在127.0.0.1:6379上找不到redis
我做错了什么?我必须添加任何额外的服务,码头-撰写文件吗?
发布于 2019-11-11 14:48:22
您需要为后端提供链接。
backend:
container_name: backend
restart: 'on-failure'
image: registry.testtesttest.com/app/backend:${BACKEND_VERSION:-latest}
ports:
- "8000:8000"
environment:
DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE:-settings.production}
DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY:-dev}
links:
- redishttps://stackoverflow.com/questions/55385085
复制相似问题