【问题标题】:celery pdb running inside docker container with changing listening portcelery pdb 在 docker 容器中运行,监听端口发生变化
【发布时间】:2014-08-30 15:33:00
【问题描述】:

寻求有关如何在端口转发时在 docker 容器中运行 celery pdb 的建议,以便我可以从外部访问。

我正在关注http://celery.readthedocs.org/en/latest/tutorials/debugging.html的指南

我面临的问题是,即使我告诉容器。

-e CELERY_RDB_HOST='0.0.0.0' -e CELERY_RDB_PORT='6900' -p 6900:6900。

并到达应用程序中的断点,实际打开的端口不是我要求的,因此我的端口转发不再有效......例如。相反,端口 6902 被打开,无论我要求端口是什么,它都会再次变为我所要求的。

我知道它会从它认为“可用”的 100 个端口列表中进行选择,但不知道如何解决这个问题。欢迎任何建议。

谢谢!

【问题讨论】:

    标签: python celery docker pdb


    【解决方案1】:

    您可以通过指定一系列端口来运行您的容器(请参阅http://docs.docker.com/reference/run/#expose-incoming-ports):

    docker run -d -e CELERY_RDB_HOST='0.0.0.0' -p 6900-7000:6900-7000 celery
    

    之后,当你遇到断点时,你只需要 telnet 进入它:

    telnet localhost 6902
    

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题,11-2020 的 celery v4.4.7。 无论我为环境变量 CELERY_RDB_PORT 设置什么,我都会得到那个 nuber +2。 IE。如果我设置为 9024,那么 rdb 会在 9026 上监听。

      您的 docker 命令可能如下所示。

      CELERY_RDB_HOST='0.0.0.0' -e CELERY_RDB_PORT='6900' -p 6902:6902
      

      这可能是芹菜的错误。

      【讨论】:

        猜你喜欢
        • 2016-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-01
        • 1970-01-01
        • 2020-10-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多