寻求有关如何在端口转发时在 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 个端口列表中进行选择,但不确定如何解决这个问题。欢迎任何建议。
谢谢!
最佳答案
您可以通过指定一系列端口来运行您的容器(参见 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
关于python - celery pdb 在 docker 容器内运行,监听端口发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25584006/