运行在Docker容器中的Celery PDB如何使用不同的监听端口?

7
寻求关于如何在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个它认为“可用”的端口列表中选择,但不确定如何解决这个问题。任何建议都将受到欢迎。
谢谢!
2个回答

4

0

我遇到了同样的问题,celery v4.4.7在2020年11月。 无论我将环境变量CELERY_RDB_PORT设置为什么,我总是会得到那个数字+2。 例如,如果我设置9024,则rdb将侦听9026。

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

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

这很可能是 Celery 的 bug。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接