在docker集装箱内运行的芹菜pdb与改变的监听端口

寻找关于如何可以在我的docker集装箱内运行芹菜PDB的build议,同时端口转发,所以我可以从外部世界访问。

我正在遵循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被打开,而不pipe我问端口是什么,它改变了,而不是我所要求的。

我知道它从100个端口列表中select它认为“可用”,但不知道如何解决这个问题。 任何build议将是受欢迎的。

谢谢!

您可以通过指定一系列端口来运行您的容器(请参阅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