Redis+Docker+Django - 错误 111 连接被拒绝

2024-05-19

我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理。我无法弄清楚我到底做错了什么,但尽管控制台日志消息告诉我 Redis 正在运行并接受连接(事实上,当我这样做时)docker ps,我可以看到容器正在运行),我仍然收到有关连接被拒绝的错误。我什至做到了

docker exec -it <redis_container_name> redis-cli
ping

并看到回应是PONG.

这是我的 Celery 设置settings.py:

BROKER_URL = 'redis://localhost:6379/0'
BROKER_TRANSPORT = 'redis'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = "UTC"

这是我的 Redis 容器设置docker-compose.yml:

redis:
    image: redis
    ports:
        - "6379:6379"

我记得链接redis容器与我的web容器也是如此。我可以很好地启动服务器,但是当我尝试将任何内容上传到网站时,出现连接拒绝错误。究竟出了什么问题?

EDIT:我记得使用 VBoxManage 进行端口转发,这样我就可以转到我的浏览器并访问我的网站localhost:8000,所以我似乎不需要使用虚拟机的IP而不是localhost for my settings.py.

EDIT 2: 如果我更换localhost在设置中使用 IP 地址docker-machineVM 或 Redis 容器的 IP 地址,然后发生的情况是,当我上传文件时,我很快在网站上收到一条错误的成功消息,但实际上没有上传任何内容。底层上传功能,insertIntoDatabase(), uses delay.


由于将 Celery 从 v3.1 更新到 v4,我遇到了类似的问题,并根据此tutorial http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html需要改变BROKER_URL to CELERY_BROKER_URL in the settings.py

设置.py部分

CELERY_BROKER_URL = 'redis://cache:6379/0'
CELERY_RESULT_BACKEND = 'redis://cache:6379/0'

docker-compose.yml 部分

version: '2'
services:
  web:
    container_name: django-container
    *******
    other options
    *******

    depends_on:
      - cache
      - db

  cache:
    container_name: redis-container
    restart: always
    image: redis:latest
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis+Docker+Django - 错误 111 连接被拒绝 的相关文章

  • 由于配置文件错误,无法启动 Redis 服务器

    我刚刚按照此处的说明安装了 Redis http redis io download http redis io download 当我运行 redis server redis conf 时出现以下错误 FATAL CONFIG FILE
  • Docker 不遵循构建目录中的符号链接

    我正在对一个应用程序进行 Docker 化 其中涉及通过 Clang 将二进制文件与其他 C 文件链接 我们维护二进制文件的符号链接版本 因为它们在整个代码库中使用 我的 Docker 构建目录包含整个代码库 包括源文件以及这些源文件的符号
  • 如何在 django 视图中向另一台服务器发送请求?

    我想发送一个http向我的另一台服务器发出请求django view像这样 def django view request response send request http example com result do something
  • 将 Django +1.10 与 MongoDB 连接

    在过去的几个月里 有人为 MongoDB 更换了 Django 1 10 中的默认数据库引擎吗 我在谷歌上得到的所有信息都是六四年前的 最常见的结果包括mongodb 引擎这需要Django nonrel 来自 Django 1 5 的一个
  • django 中计数器的原子增量

    我正在尝试自动增加 Django 中的一个简单计数器 我的代码如下所示 from models import Counter from django db import transaction transaction commit on s
  • django 根据 UserProfile.language() 字段数据发送本地化电子邮件

    在我的优惠网站中 如果优惠满足某些要求 模型中指定的过滤器 用户可以设置电子邮件警报 因此 当用户 A 添加报价时 post save 信号将发送到 celery 并检查是否应用了用户警报过滤器 如果有 则发送电子邮件 问题是我不知道如何安
  • Django Rest Framework 序列化器中的聚合(和其他带注释的)字段

    我正在尝试找出添加带注释字段的最佳方法 例如将任何聚合 计算 字段添加到 DRF 模型 序列化器 我的用例只是一种情况 端点返回的字段未存储在数据库中 而是从数据库计算得出 让我们看下面的例子 模型 py class IceCreamCom
  • 带有 mysql 数据的 WordPress 图像

    是否有包含 wordpress 和 mysql 数据的可用图像 当我提交并备份映像时 不包括 mysql 数据 我更喜欢两者都用一张图片 我尝试使用这个 Dockerfile 创建这样的图像 FROM tutum lamp latest R
  • django ajax post 403被禁止

    使用 django 1 4 当我尝试从我的 javascript 做我的 django 服务器上的帖子时 我收到 403 错误 我的 get 工作正常 尽管问题仅出在帖子上 也尝试过 csrf exempt但没有运气 更新 我现在可以发布我
  • 将文件传递给活动作业/后台作业

    我通过标准文件输入接收请求参数中的文件 def create file params file upload Upload create file file filename img png end 但是 对于大型上传 我想在后台作业中执行
  • 操作错误:游标“_django_curs_”不存在

    我们有一个由 django postgresql 和 heroku 提供支持的在线商店 Web 应用程序 对于特定的活动 您可以将活动视为要购买的产品 我们已成功售出 10 000 份以上的副本 然而 根据我们的 Sentry 报告 我们的
  • Django 评论和评级系统

    我正在寻找一个可以与我的 Django 网站顺利集成的博客和评论系统 我在网上发现了很多 但有点迷失了 我在这方面没有太多经验 希望大家能给我一些建议 以下是我想要拥有的东西 标签云 文章存档 按月 按年 文章评级 例如带有星星或自定义图标
  • 为什么单个 Redis 实例不是线程安全的?

    https github com xetorthio jedis wiki Getting started https github com xetorthio jedis wiki Getting started 在多线程环境中使用Jed
  • 如何让 Docker 容器在系统启动时自动启动?

    假设我有一个要运行的 Docker 容器 那么我可以调用 docker run 一切都很好 是否有一种内置方法可以在系统崩溃并重新启动时自动重新启动容器来运行容器 如果是这样 这在 Docker Compose 中也可用吗 是的 docke
  • 在 django 查询集上使用 iterator()

    我最近遇到了一些奇怪的行为 需要检查我的理解 我在模型中使用一个简单的过滤器 然后迭代结果 e g allbooks Book objects filter author A A Milne for book in allbooks do
  • Django:无法为用于检索数据的模型实例化抽象模型

    我正在开发一个项目 该项目有一个 Djongo 抽象模型和一个主模型 当我尝试插入一个值时 它被插入而没有错误 但是当我尝试检索数据时 我得到 抽象模型无法实例化 这是我的模型 class Exam questions models Mod
  • iFrame 在 Facebook Canvas 应用程序中显示为空白

    我有一个非常简单的页面 我试图在 Facebook iframe 中查看它 它是一个 Django 视图 但它不依赖于请求是通过 POST 还是 GET 提交 它所做的只是返回一些简单的 HTML 如果我们直接点击链接 它会正确显示 如果在
  • Django 1.9:字段与父模型中不存在字段的字段冲突

    我有一些简单的模型 Profile Certifier 和 Designer 后者继承自 Profile 多表继承 在 Designer 中 有一个指向 Certifier 的外键 class Profile models Model TY
  • Django modelForm 中的文件上传

    我正在尝试在 appengine django 中上传文档 使用纯 django 代码成功上传文档 使用 python manage py runsever 但是当我尝试使用 appengine 项目运行 django 时 它给了我错误 E
  • 我如何在 docker 构建过程中传递参数或绕过它? [复制]

    这个问题在这里已经有答案了 我为我的 PHP 应用程序编写了一个 Dockerfile 我不是从 dockerhub 开始创建它 而是从头开始创建它 eg FROM ubuntu 18 04 RUN apt get update apt g

随机推荐