You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Celery Worker无法连接Redis容器问题排查求助

FastAPI+Celery+Redis容器化部署连接问题

问题情况

我已经完成FastAPI + Celery Worker + Redis应用的Docker容器化部署,但遇到容器间Redis连接失败的问题。本地直接运行(uvicorn启动API、Celery Worker独立进程、Redis实例)时完全正常,容器内却无法建立连接。

错误信息

使用docker-compose启动Worker时,出现如下错误:

worker | TypeError: Channel._connparams..Connection.disconnect() takes 1 positional argument but 2 were given

相关配置

docker-compose.yml

services:
  app:
    build:
      context: app
    container_name: app
    working_dir: /code
    command: pipenv run uvicorn src.app:app --host 0.0.0.0 --port 8000 --reload
    volumes:
      - "./app:/code/"
    ports:
      - "8000:8000"
    depends_on:
      - redis
    links:
      - redis
    networks:
      - local

  worker:
    build:
      context: app
    container_name: worker
    command: pipenv run celery -A src.worker.celery worker --loglevel=info
    volumes:
      - "./app:/code/"
    depends_on:
      - redis
    links:
      - redis
    networks:
      - local

  redis:
    container_name: redis
    hostname: redis
    image: redis:7.0.9-alpine
    networks:
      - local

networks:
  local:
    name: local

Celery Worker配置

celery = Celery(__name__)
celery.conf.broker_url = "redis://redis:6379"
celery.conf.result_backend = "redis://redis:6379"

额外测试

我在其他容器中运行以下简单的Redis连接测试代码,结果仅出现超时:

from redis import Redis

redis_hostname = "redis"
r = Redis(redis_hostname, socket_connect_timeout=1)
r.ping()

请问我的配置哪里可能存在问题?


内容的提问来源于stack exchange,提问作者Radek_K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:47:17