首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Docker部署Django通道

用Docker部署Django通道
EN

Stack Overflow用户
提问于 2019-03-27 19:28:02
回答 1查看 4.3K关注 0票数 9

我正在尝试用Docker部署django通道,Django似乎没有找到Redis (我正在使用它作为通道层)。

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

代码语言:javascript
运行
复制
CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            'hosts': [('localhost', 6379)],
        },
    },
}

一切都很好,网络套接字接受连接,并且很容易地传输我的数据。对于生产环境,我使用这个docker配置:

代码语言:javascript
运行
复制
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"

我指的是生产环境中的红宝石:

代码语言:javascript
运行
复制
CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            'hosts': [('redis', 6379)],
        },
    },
}

在生产方面,Django说:

在127.0.0.1:6379上找不到redis

我做错了什么?我必须添加任何额外的服务,码头-撰写文件吗?

EN

回答 1

Stack Overflow用户

发布于 2019-11-11 14:48:22

您需要为后端提供链接。

代码语言:javascript
运行
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55385085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档