首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在docker-compose中将Flower连接到broker RabbitMQ

如何在docker-compose中将Flower连接到broker RabbitMQ
EN

Stack Overflow用户
提问于 2021-03-26 19:02:58
回答 5查看 1.7K关注 0票数 2

如何将弗劳尔连接到RabbitMQ。我的芹菜运行任务不会出现在Flower上。尽管它们运行得很好。在Flower上,当我单击"broker“时,我在终端[E 210326 10:53:07 broker:78] RabbitMQ management API call failed: Timeout while connecting上收到以下错误消息

这是我的docker-compose文件:

代码语言:javascript
复制
version: "3.8"

services:
    base:
        container_name: base
        image: postgres:13
        ports:
            - "5433:5432"
        environment:
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_DB=${POSTGRES_DB}
        volumes:
            - /var/lib/postgresql/data
    api:
        build:
            context: ./api/
            dockerfile: Dockerfile
        volumes:
            - ./api/app:/app/app
        ports:
            - "1000:80"
        depends_on:
            - base
        env_file:
            - .env
        command: ["/start-reload.sh"]

    frontend:
        build:
            context: ./frontend/
            dockerfile: Dockerfile
        ports:
            - "3000:3000"
        volumes:
            - /app/node_modules
            - ./frontend:/app
        environment:
            - NODE_ENV=development
        stdin_open: true
        links:
            - api

    rabbitmq:
        image: "bitnami/rabbitmq:latest"
        ports:
            - "4369:4369"
            - "5672:5672"
            - "25672:25672"
            - "15672:15672"
        volumes:
            # - "rabbitmq_data:/bitnami"
            - /bitnami

    redis:
        image: "bitnami/redis:latest"
        environment:
            - REDIS_PASSWORD=password123
        ports:
            - "6379:6379"
        volumes:
            # - "redis_data:/bitnami/redis/data"
            - /bitnami/redis/data

    flower:
        image: mher/flower
        command: ["flower", "--broker=amqp://user:bitnami@rabbitmq:5672//", "--port=8888"]
        ports:
            - 8888:8888
        depends_on:
            - rabbitmq
            - redis

    worker:
        build:
            context: ./api/
            dockerfile: Dockerfile.celery
        depends_on:
            - rabbitmq
            - redis
        volumes:
            - ./api/app:/app
        command: celery -A app.worker.celery_worker worker --loglevel=INFO --concurrency=4 -Q test-queue
EN

回答 5

Stack Overflow用户

发布于 2021-03-28 16:54:03

在过去三天的测试中,我也遇到了同样的问题。在测试期间,Flower只正确工作过一次。我没能找出它当时为什么能行得通。

对我来说,解决这个问题的唯一方法是将docker镜像从mher/flower:latestmher/flower:0.9.7降级到mher/flower:0.9.5。更改命令行选项、环境变量和docker-compose.yml内容无济于事。在降级之后,一切都很好。

请注意。我的环境是

  • 机器-带WSL2
  • Main的Windows10- redis:latest
  • Celery :20.04,带Django 3.1.7,celerylibrabbitmq,redis 5.0.5,django-celery-beat 2.2.0
  • 芹菜经纪人-ubuntu ResultBackend -ubuntu-mher/ Flower :最新>ubuntu
票数 2
EN

Stack Overflow用户

发布于 2021-06-07 02:34:58

我已经在Flower项目中打开了一个问题,如果我有空闲时间,我会尝试修复这个问题,但同时在调查部分,你应该看到原因。

github中的问题:https://github.com/mher/flower/issues/1112

票数 2
EN

Stack Overflow用户

发布于 2021-07-09 22:47:35

您可以使用此docker-compose文件:

代码语言:javascript
复制
version: '3.4'
services:
    rabbitmq:
        image: rabbitmq
        ports: 
          - 5672:5672


    flower:
        image: mher/flower
        environment: 
            - CELERY_BROKER_URL=pyamqp://guest@rabbitmq//
            - FLOWER_PORT=5555
        ports: 
            - 5555:5555
        depends_on: 
            - rabbitmq

*记住不要对CELERY_BROKER_URL值使用单引号!!以下配置将引发错误:

代码语言:javascript
复制
        - CELERY_BROKER_URL='pyamqp://guest@rabbitmq//'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66815640

复制
相关文章

相似问题

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