使用D部署Django频道

2024-05-03 14:56:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Docker部署django频道,但django似乎找不到Redis(我用它作为通道层)。在

当我在本地执行此操作时,我只需运行redis-server并从“设置”中指向它:

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            'hosts': [('localhost', 6379)],
        },
    },
}

一切正常,网络插座接受连接,轻松传输我的数据。对于生产环境,我使用以下docker配置:

^{pr2}$

我从生产设置中指向redis:

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            'hosts': [('redis', 6379)],
        },
    },
}

在生产方面,Django说:

Cannot find redis on 127.0.0.1:6379

我做错什么了?我需要添加额外的服务docker编写文件吗?在


Tags: djangodockercoreredisconfigbackenddefaultlayers
1条回答
网友
1楼 · 发布于 2024-05-03 14:56:14

你需要给后端链接。在

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

相关问题 更多 >