Des*_*ner 7 python django redis docker django-channels
我正在尝试使用 Docker 部署 django 频道,而 Django 似乎没有找到 Redis(我将其用作频道层)。
当我在本地执行时,我只是运行redis-server并从设置指向它:
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
'hosts': [('localhost', 6379)],
},
},
}
Run Code Online (Sandbox Code Playgroud)
一切正常,网络套接字正在接受连接并轻松传输我的数据。对于生产环境,我使用这个 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"
Run Code Online (Sandbox Code Playgroud)
我从生产设置中指向 redis:
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
'hosts': [('redis', 6379)],
},
},
}
Run Code Online (Sandbox Code Playgroud)
在生产方面,Django 说:
在 127.0.0.1:6379 上找不到 redis
我究竟做错了什么?我是否必须在 docker-compose 文件中添加任何额外的服务?
小智 1
您需要提供后端链接。
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:
- redis
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2682 次 |
| 最近记录: |