首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker-组合<service>不能正确启动<service>

docker-组合<service>不能正确启动<service>
EN

Stack Overflow用户
提问于 2019-01-08 17:14:55
回答 2查看 335关注 0票数 2

上下文:I在celery + rabbitmq堆栈上有一个主工作系统。

系统已被停靠(此处不提供worker服务)

代码语言:javascript
运行
复制
version: '2'
services:
    rabbit:
        hostname: rabbit
        image: rabbitmq:latest
        environment:
            - RABBITMQ_DEFAULT_USER=admin
            - RABBITMQ_DEFAULT_PASS=mypass
        ports:
            - "5672:5672"

    master:
        build:
            context: .
            dockerfile: dockerfile
        volumes:
            - .:/app
        links:
            - rabbit
        depends_on:
            - rabbit

当我执行docker-compose up时-一切都好!

Problems:,但我不能使用docker-compose up,我需要使用docker-compose masterdocker-compose worker (用于工作机器和主计算机的两个单独的命令)。因此,当我执行docker-compose master -容器启动,但挂断!:

研究:我发现了,它挂掉了任务提交:

result = longtime_add.delay(count),其中longtime_add是一项任务。

完整代码:https://github.com/waryak/MastersDiploma/tree/vlad

另外,请编辑标题-我觉得它需要更清晰的标题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-08 20:31:10

我刚试过docker-compose up rabbit master,结果成功了。这很奇怪,因为我看不到代理日志或任何其他日志中的外部差异。此外,码头文件保证,所有依赖的服务都将启动.

票数 0
EN

Stack Overflow用户

发布于 2019-01-08 18:19:44

有几点是简单的:(1)我没有看到您在github中为producer broker url提供的预期输出消息;(2)我找不到/src/network添加到您的pythonpath中的位置;(3)在celery.py中加载producer broker url的代码看上去是错误的,因为它正在寻找CONFIG变量,而不是variables.env文件中的PRODUCE_BROKER_URL。生产者超时的原因是如果它无法连接到代理,那么您就可以通过打印produce和worker broker URL来正确地运行。对您来说,首先在生产者中对broker_url进行硬编码可能更容易一些:

代码语言:javascript
运行
复制
from celery.app import Celery
app = Celery(broker_url='amqp://admin:mypass/rabbit:56772')
app.send_task(name='messages.tasks.longtime_add', kwargs={})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54096653

复制
相关文章

相似问题

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